Method and apparatus for decoding multi-user multiple-input multiple output wireless signal

ABSTRACT

A method of an RFC chip for a station, the RFC chip including a WLAN communication module to decode a DL MU-MIMO wireless signal, the method including: determining an FS layer column based on a product of a channel matrix of the station and an estimate of a steering matrix of the station; ordering columns of a sub-matrix of an effective channel matrix of the station to determine one or more SS layer columns from the sub-matrix, the sub-matrix being determined by removing, from the effective channel matrix, a column corresponding to the determined FS layer column; configuring a modified effective channel matrix based on the determined FS layer column and the ordered columns of the sub-matrix, the determined FS layer column being determined as an FS layer column of the modified effective channel matrix; and determining a symbol of the station based on the modified effective channel matrix.

CROSS REFERENCE TO RELATED APPLICATION

This application claims priority from and the benefit of Korean Patent Application No. 10-2016-0014760, filed on Feb. 5, 2016, which is hereby incorporated by reference for all purposes as if fully set forth herein.

BACKGROUND

Field

Exemplary embodiments relate to wireless communications, and, more particularly, to wireless communications in multi-user multiple-input multiple-output (MU-MIMO) environments.

DISCUSSION

The Institute of Electrical and Electronics Engineering (IEEE) 802.11ac standard governs aspects of wireless local area networking. For instance, the IEEE 802.11ac standard enables a maximum of 3.39 Gbit/s throughput for a single station (STA) with a 4×4 multiple-input multiple-output (MIMO) topology. The IEEE802.11ac standard also supports up to four simultaneous downlink (DL) MU-MIMO clients with an 8×8 antenna configuration. For example, four users can simultaneously use the same frequency channel without time division multiplexing. This provides for a total aggregate capacity of 6.9 Gbit/s.

With respect to DL MU-MIMO implementations of IEEE802.11ac, the explicit beamforming technology of IEEE 802.11n may be applied using a compressed feedback matrix. As such, system capacity may be improved by transmitting precoded signals to multiple STAs with the channel state information delivered from each STA. The precoded signals may be generated according to a channel inversion or block diagonalization (BD)-based technique. The signal-to-interference ratio (SIR) of each STA may, however, decrease due to imperfections in channel-estimation and quantization errors of the compressed feedback matrix. As such, STA receiver performance may decrease. To this end, increases in the MIMO dimension of the receiver (up to the number of interference signal streams) increasingly complicate the receiver implementation. Accordingly, it becomes concomitantly impractical to perform an optimal MIMO decoding algorithm, such as maximum-likelihood decoding (MLD) and sphere-decoding (SD). To overcome the impracticality, conventional approaches typically limit the number of interference signal streams at the expense of MIMO dimensioning. A wireless local area network (WLAN) is a wireless network that links two or more devices using a wireless distribution method, e.g., spread-spectrum or orthogonal frequency division multiplexing (OFDM) radio, within a limited area in comparison with a cellular mobile network. The WLAN refers to a wireless communication network based on Institute of Electrical and Electronics Engineers (IEEE) 802.11 standards, also known as Wi-Fi®.

The above information disclosed in this Background section is only for enhancement of understanding of the background of the inventive concept, and, therefore, it may contain information that does not form the prior art that is already known to a person of ordinary skill in the art.

SUMMARY

One or more exemplary embodiments provide a method and apparatus for decoding a signal in MU-MIMO environment.

According to one or more exemplary embodiments, a joint detection algorithm for MU-MIMO is proposed on the basis of channel extension and reconstruction for the entire interference signals.

Additional aspects will be set forth in the detailed description which follows, and, in part, will be apparent from the disclosure, or may be learned by practice of the inventive concept.

According to one or more exemplary embodiments, a method of a radio frequency communication (RFC) chip for a station, the RFC chip including a wireless local area network (WLAN) communication module to decode a downlink (DL) multi-user multiple-input multiple-output (MU-MIMO) wireless signal, the method including: determining a full search (FS) layer column based on a product of a channel matrix of the station and an estimate of a steering matrix of the station; ordering columns of a sub-matrix of an effective channel matrix of the station to determine one or more single search (SS) layer columns from the sub-matrix, the sub-matrix being determined by removing, from the effective channel matrix, a column corresponding to the determined FS layer column; configuring a modified effective channel matrix based on the determined FS layer column and the ordered columns of the sub-matrix, the determined FS layer column being determined as an FS layer column of the modified effective channel matrix; and determining a symbol of the station based on the modified effective channel matrix.

According to one or more exemplary embodiments, a radio frequency communication (RFC) chip for a station, the RFC chip including: a fixed-complexity sphere decoder (FSD) configured to decode a downlink (DL) multi-user multiple-input multiple-output (MU-MIMO) wireless signal associated with symbols for a plurality of stations. The FSD is configured to: determine a full search (FS) layer column based on a product of a channel matrix of the station and an estimate of a steering matrix of the station; order, based on a comparison associated with magnitudes of columns of an effective channel matrix of the station, the columns of the effective channel matrix of the station; generate a modified effective channel matrix by reordering the ordered columns of the effective channel matrix such that a column of the effective channel matrix corresponding to the determined FS layer column is reordered to be an FS layer column of the modified effective channel matrix; determine a full rank matrix based on the modified effective channel matrix; and determine a symbol of the station based on the full rank matrix.

According to one or more exemplary embodiments, a mobile station including: a display; a system-on-chip (SoC) including a processor configured to process instructions associated with an application program, a system memory configured to store data, and a graphic processing unit (GPU) configured to process graphic data to be displayed on the display of the mobile station; multiple antennas configured to receive a downlink (DL) multi-user multiple-input multiple-output (MU-MIMO) wireless signal associated with symbols for a plurality of stations; and a fixed-complexity sphere decoder (FSD) configured to decode the DL MU-MIMO wireless signal. The FSD is configured to: determine a full search (FS) layer column based on a product of a channel matrix of the mobile station and an estimate of a steering matrix of the mobile station; order, based on a comparison associated with magnitudes of columns of an effective channel matrix of the mobile station, the columns of the effective channel matrix of the mobile station; generate a modified effective channel matrix by reordering the ordered columns of the effective channel matrix such that a column of the effective channel matrix corresponding to the determined FS layer column is reordered to be an FS layer column of the modified effective channel matrix; determine a full rank matrix based on the modified effective channel matrix; and determine a symbol of the mobile station based on the full rank matrix.

The foregoing general description and the following detailed description are exemplary and explanatory and are intended to provide further explanation of the claimed subject matter.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are included to provide a further understanding of the inventive concept, and are incorporated in and constitute a part of this specification, illustrate exemplary embodiments of the inventive concept, and, together with the description, serve to explain principles of the inventive concept.

FIG. 1 is a block diagram of a multiple-input and multiple-output (MIMO) wireless communication system, according to one or more exemplary embodiments.

FIG. 2 is a block diagram of a MIMO wireless communication system, according to one or more exemplary embodiments.

FIGS. 3A, 3B, 3C, and 3D are respective quadrant diagrams of constellation bit encoding for 256-quadrature amplitude modulation (QAM).

FIG. 4A is a diagram of an N_(i)-dimensional square lattice spanned by an m_(i)-QAM constellation in each dimension, according to one or more exemplary embodiments.

FIG. 4B is a diagram of an illustrative search tree with a masking-level difference at M=4, N₁=2, and 4-QAM (or a quadrature phase shift keying (QPSK) modulation) for streams of a single station (STA) in FIG. 2, according to one or more exemplary embodiments.

FIG. 5 is a flowchart of a process for modifying a fixed sphere decoding (FSD) ordering scheme, according to one or more exemplary embodiments.

FIG. 6 is a flowchart illustrating of a process for modifying a fixed sphere decoding (FSD) ordering scheme, according to one or more exemplary embodiments.

FIG. 7 is a flowchart illustrating of a process for modifying a fixed sphere decoding (FSD) ordering scheme, according to one or more exemplary embodiments.

FIG. 8 is a diagram of an illustrative search tree of the i-th STA constituted by a modified FSD ordering scheme, according to one or more exemplary embodiments.

FIG. 9 is a flowchart illustrating of a process for modifying a fixed sphere decoding (FSD) ordering scheme, according to one or more exemplary embodiments.

FIG. 10 is a diagram illustrating a radio frequency communication (RFC) module in an access point and an RFC module in a user station in a MIMO system, according to one or more exemplary embodiments.

FIG. 11 is a block diagram of a system-on-chip (SoC) including radio frequency communication module, according to one exemplary embodiments.

FIG. 12 is a block diagram illustrating a mobile station including an application processor, according to one or more exemplary embodiments.

FIG. 13 is a block diagram illustrating a mobile station including an application processor, according to one or more exemplary embodiments.

DETAILED DESCRIPTION OF THE ILLUSTRATED EMBODIMENTS

In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of various exemplary embodiments. It is apparent, however, that various exemplary embodiments may be practiced without these specific details or with one or more equivalent arrangements. In other instances, well-known structures and devices are shown in block diagram form in order to avoid unnecessarily obscuring various exemplary embodiments.

Unless otherwise specified, the illustrated exemplary embodiments are to be understood as providing exemplary features of varying detail of various exemplary embodiments. Therefore, unless otherwise specified, the features, blocks, components, modules, elements, and/or aspects of the various illustrations may be otherwise combined, separated, interchanged, and/or rearranged without departing from the disclosed exemplary embodiments. Further, in the accompanying figures, the size and relative sizes of blocks, components, modules, elements, etc., may be exaggerated for clarity and descriptive purposes. Also, like reference numerals may denote like or similar elements.

When an element is referred to as being “connected to” or “coupled to” another element, it may be directly connected to or coupled to the other element or intervening elements or may be present. When, however, an element or layer is referred to as being “directly connected to” or “directly coupled to” another element, there are no intervening elements present. For the purposes of this disclosure, “at least one of X, Y, and Z” and “at least one selected from the group consisting of X, Y, and Z” may be construed as X only, Y only, Z only, or any combination of two or more of X, Y, and Z, such as, for instance, XYZ, XYY, YZ, and ZZ. Like numbers refer to like elements throughout. As used herein, the term “and/or” includes any and all combinations of one or more of the associated listed items.

Although the terms “first,” “second,” etc. may be used herein to describe various elements, blocks, components, regions, and/or sections, these elements, blocks, components, regions, and/or sections should not be limited by these terms. These terms are used to distinguish one element, block, component, region, and/or section from another element, block, component, region, and/or section. Thus, a first element, block, component, region, and/or section discussed below could be termed a second element, block, component, region, and/or section without departing from the teachings of the present disclosure.

The terminology used herein is for the purpose of describing particular embodiments and is not intended to be limiting. As used herein, the singular forms, “a,” “an,” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. Moreover, the terms “comprises,” “comprising,” “includes,” and/or “including,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, components, and/or groups thereof, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.

Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure is a part. Terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and will not be interpreted in an idealized or overly formal sense, unless expressly so defined herein.

FIG. 1 is a block diagram of a multiple-input and multiple-output (MIMO) wireless communication system, according to one or more exemplary embodiments.

Although FIG. 1 illustrates one access point (AP) 110, a plurality of APs may be configured in the MIMO wireless communication system 100. An AP is generally a fixed station that communicates with user stations and may also be referred to as a base station, or the like. A user station may be fixed or mobile and may also be referred to as a mobile station, a user terminal, a station, a client, a wireless device, or the like. The user station may be (or include) any suitable wireless device, such as a cellular phone, a smartphone, a personal digital assistant (PDA), a tablet personal computer (PC), a wireless modem, etc.

The AP 110 may communicate with one or more user stations 120 on the downlink (DL) and uplink (UL). The downlink is the communication link from an AP to one or more user stations, and the uplink is the communication link from one or more user stations to an AP, e.g., AP 110. A user station may also directly communicate with another user station. A system controller 130 may provide coordination and control for a plurality of APs including the AP 110.

The MIMO system 100 employs multiple transmit and multiple receive antennas for data transmission on the downlink and the uplink. The AP 110 may have a number M of antennas, which represents multiple-input for downlink transmissions and multiple-output for uplink transmissions. For MU-MIMO, single-user (SU)-MIMO, spatial division multiple access (SDMA), or the like, a set Σ_(i=1) ^(K)N_(i) of antennas of selected user stations 120 collectively represents the multiple-output for downlink transmissions and the multiple-input for uplink transmissions, where K is the number of selected user stations 120, and N_(i) is the number of antennas of the i-th user station 120. According to one or more exemplary embodiments, it may be desirable to have M≧Σ_(i=1) ^(K)N_(i)≧1 if the data symbol streams for the selected K user stations 120 are not multiplexed in code, frequency, or time by a multiplexing configuration, e.g., code division multiple access (CDMA), orthogonal frequency division multiplexing (OFDM), time division multiple access (TDMA), and the like.

The MIMO system 100 may be a time division duplex (TDD) system or a frequency division duplex (FDD) system. In a TDD system, the downlink and uplink share the same frequency band. In an FDD system, the downlink and uplink use different frequency bands. Further, the MIMO system 100 may support protocols conforming to various Institute of Electrical and Electronics Engineers (IEEE) 802.11 standards, e.g., IEEE 802.11ac, IEEE 802.11n, etc.

FIG. 2 is a block diagram of a MIMO wireless communication system, according to one or more exemplary embodiments.

Referring to FIG. 2, the MIMO system 200 includes an AP 210 supporting DL MU-MIMO and K selected user stations 221, 222. The user station (STA₁) 221 may have N₁ antennas, and the user station (STA_(k)) 222 may have N_(k) antennas. The AP 210 may have M antennas. The AP 210 may estimate channels H₁, . . . , H_(K) to transmit data to the K selected user stations 221, 222. The AP 210 may receive channel state information from the selected user stations 221, 222 in response to the AP 210 transmitting a signal including data for channel estimation. Further, the AP 210 may multiply a precoding matrix of a precoder F 212 by a stream signal s and transmit a wireless signal generated based on the result (or product). The precoding matrix of the precoder F 212 may be referred to as a steering matrix.

System Model for Interference Mitigation

In general, the DL MU-MIMO model can be modeled as communications between an AP that employs M transmit antennas and K user stations, where the i-th user station (STA_(i)) includes N_(i) receiving antennas (i=1, 2, . . . , K). As such, the DL MU-MIMO may be used in various wireless communication environments, e.g., wireless communication environments conforming to IEEE 802.11ac, Long Term Evolution (LTE), LTE-Advanced (LTE-A), etc. For example, if K user stations have the same number of antennas N, then N_(i)=N for i=1, 2, . . . , K. Further, according to one or more exemplary embodiments, Σ_(i=1) ^(K)N_(i)=M. The received signal y_(i) of the STA_(i) may be represented as a linear combination of the transmitted data symbol vector s corrupted by additive Gaussian noise ν_(i), as designated in Equation 1.

$\begin{matrix} \begin{matrix} {y_{i} = {{H_{i}{Fs}} + \upsilon_{i}}} \\ {= {{H_{i}F_{i}s_{i}} + {H_{i}F_{li}s_{li}} + \upsilon_{i}}} \end{matrix} & {{Eq}.\mspace{14mu} 1} \end{matrix}$

where s_(i) is a desired signal of STA_(i), H_(i) is an N_(i)×M channel matrix of STA_(i), and F is an M×Σ_(i=1) ^(K)N_(i) steering matrix for beamforming, which may be referred to as a precoding matrix. Further, ν_(i) represents N_(i)×1 complex Gaussian noise, e.g., additive white Gaussian noise (AWGN), with E[ν_(i) ^(T)ν_(i)]=σ²I_(N) _(i) . In this manner, σ is the standard deviation of the Gaussian noise, and I_(N) _(i) is an N_(i)×N_(i) identity matrix

${H_{i} = \begin{bmatrix} h_{11}^{i} & \ldots & h_{1M}^{i} \\ \vdots & \ddots & \vdots \\ h_{N_{i}1}^{i} & \ldots & h_{N_{i}M}^{i} \end{bmatrix}},\mspace{14mu}{F_{i} = \begin{bmatrix} f_{11}^{i} & \ldots & f_{1N_{i}}^{i} \\ \vdots & \ddots & \vdots \\ f_{M\; 1}^{i} & \ldots & f_{{MN}_{i}}^{i} \end{bmatrix}},$ which is a steering matrix of STA_(i),

${s_{i} = \begin{bmatrix} s_{1}^{i} \\ \vdots \\ s_{N_{i}}^{i} \end{bmatrix}},\mspace{11mu}{\upsilon_{i} = \begin{bmatrix} v_{1}^{i} \\ \vdots \\ v_{N_{i}}^{i} \end{bmatrix}},{s^{T} = \begin{bmatrix} {s_{1}^{T}\mspace{14mu}\ldots\mspace{14mu} s_{i - 1}^{T}} & s_{i}^{T} & {s_{i + 1}^{T}\mspace{14mu}\ldots\mspace{14mu} s_{K}^{T}} \end{bmatrix}},$ and F=[F₁ . . . F_(i−1) F_(i) F_(i+1) . . . F_(K)]. In some matrices, α_(pq) ^(i) denotes the element at the p-th row and q-th column of a matrix A_(i). For example, h_(pq) ^(i) denotes the element at the p-th row and q-th column of a matrix H_(i), and f_(pq) ^(i) denotes the element at the p-th row and q-th column of a matrix F_(i). In some matrices, α_(p) ^(i) denotes the element at the p-th row and the first column of a matrix A_(i) having a single column (i.e., of a column vector A_(i)) or α_(p) ^(i) denotes the element at the first row and the p-th column of a matrix A_(i) having a single row (i.e., of a row vector A_(i)). In some embodiments, α_(p) ^(i) denotes elements in the p-th column of a matrix A_(i). The desired signal s_(i) may be uniformly distributed over a discrete and finite set x_(m) _(i) ^(N) ^(i) , which is an N_(i)-dimensional square lattice spanned by an m_(i)-QAM constellation in each dimension. For example, m_(i) may be 16, 64, 256, etc.

FIGS. 3A, 3B, 3C, and 3D are respective quadrant diagrams of constellation bit encoding for 256-quadrature amplitude modulation (QAM). As shown in FIGS. 3A, 3B, 3C, and 3D, in each dimension, a total 8 bits of data may be mapped to 256 constellation points in a 256-QAM plane when m_(i)=256. For the N_(i)-th dimension, the m_(i)=256 constellation points are elements of the set x_(m) _(i) ₌₂₅₆ ^(N) ^(i) . Further, (m_(i)=2) and (m_(i)=4) may also be used, according to one or more exemplary embodiments. Further, F_(li) and s_(li) represent tall submatrices that include all the columns except the column vector for STA_(i) as provided below in Equation 2. F _(li) =[F ₁ . . . F _(i−1) F _(i+1) . . . F _(K)] s _(li) ^(T) =[s ₁ ^(T) . . . s _(i−1) ^(T) s _(i+1) ^(T) . . . s _(K) ^(T)]  Eq. 2

The steering matrix F is, in an ideally implemented device, orthogonally organized in a manner that suppresses interference. However, in reality, compressed feedback is used to reconstruct the steering matrix {circumflex over (F)}, which may lead to interference terms. More specifically, the effect of the interference term H_(i)F_(li)s_(li), may not be negligible in comparison with SU MIMO, owing to a quantization error.

For descriptive convenience, an illustrative example will be described with respect to the number of antennas of the AP 210 being four (M=4), the number of selected user stations 221, 222 being two (K=2), and the number of antennas per selected user station 221, 222 being two (N_(i)=2 for i=1, 2).

In the aforementioned configuration,

${H_{1} = \begin{bmatrix} h_{11}^{1} & h_{12}^{1} & h_{13}^{1} & h_{14}^{1} \\ h_{21}^{1} & h_{22}^{1} & h_{23}^{1} & h_{24}^{1} \end{bmatrix}},{H_{2} = \begin{bmatrix} h_{11}^{2} & h_{12}^{2} & h_{13}^{2} & h_{14}^{2} \\ h_{21}^{2} & h_{22}^{2} & h_{23}^{2} & h_{24}^{2} \end{bmatrix}},{F_{1} = \begin{bmatrix} f_{11}^{1} & f_{12}^{1} \\ f_{21}^{1} & f_{22}^{1} \\ f_{31}^{1} & f_{32}^{1} \\ f_{41}^{1} & f_{42}^{1} \end{bmatrix}},\mspace{14mu}{F_{2} = \begin{bmatrix} f_{11}^{2} & f_{12}^{2} \\ f_{21}^{2} & f_{22}^{2} \\ f_{31}^{2} & f_{32}^{2} \\ f_{41}^{2} & f_{42}^{2} \end{bmatrix}},{s = \begin{bmatrix} s_{1}^{1} \\ s_{2}^{1} \\ s_{1}^{2} \\ s_{2}^{2} \end{bmatrix}},\mspace{14mu}{s_{1} = \begin{bmatrix} s_{1}^{1} \\ s_{2}^{1} \end{bmatrix}},\mspace{14mu}{s_{2} = \begin{bmatrix} s_{1}^{2} \\ s_{2}^{2} \end{bmatrix}},{\upsilon_{1} = \begin{bmatrix} v_{1}^{1} \\ v_{2}^{1} \end{bmatrix}},\mspace{14mu}{\upsilon_{2} = \begin{bmatrix} v_{1}^{2} \\ v_{2}^{2} \end{bmatrix}},{y_{1} = \begin{bmatrix} y_{1}^{1} \\ y_{2}^{1} \end{bmatrix}},\mspace{14mu}{y_{2} = {{\begin{bmatrix} y_{1}^{2} \\ y_{2}^{2} \end{bmatrix}.{For}}\mspace{14mu} y_{1}}},{\begin{bmatrix} y_{1}^{1} \\ y_{2}^{1} \end{bmatrix} = {{{\begin{bmatrix} h_{11}^{1} & h_{12}^{1} & h_{13}^{1} & h_{14}^{1} \\ h_{21}^{1} & h_{22}^{1} & h_{23}^{1} & h_{24}^{1} \end{bmatrix}\begin{bmatrix} f_{11}^{1} & f_{21}^{1} & f_{11}^{2} & f_{12}^{2} \\ f_{21}^{1} & f_{22}^{1} & f_{21}^{2} & f_{22}^{2} \\ f_{31}^{1} & f_{32}^{1} & f_{31}^{2} & f_{32}^{2} \\ f_{41}^{1} & f_{42}^{1} & f_{41}^{2} & f_{42}^{2} \end{bmatrix}}\begin{bmatrix} s_{1}^{1} \\ s_{2}^{1} \\ s_{1}^{2} \\ s_{2}^{2} \end{bmatrix}} + \begin{bmatrix} v_{1}^{1} \\ v_{2}^{1} \end{bmatrix}}}$

Utilizing channel state information (CSI) feedback from the selected user stations 221, 222, the channel matrices H₁, H₂ and the steering matrices F₁, F₂ may be determined (estimated).

To mitigate decoder degradation in an MU-MIMO environment, interference-aware decoding schemes may be employed, such as interference whitening, joint detection, and the like. One or more exemplary embodiments will be described with respect to joint detection with or without interference whitening.

Joint Detection Model for Interference Mitigation

In a typical interference-ignored MIMO decoder, when an interference component H_(i)F_(li)s_(li) is regarded as noise, maximum-likelihood decoding minimizes the error probability P_(s)(ŝ_(MLD,i)≠s_(i)) as expressed in Equation 3:

$\begin{matrix} {{\hat{s}}_{{MLD},i} = {\arg\;{\min_{s_{i} \in_{\chi_{m_{i}}^{N_{i}}}}{{y_{i} - {H_{i}{\hat{F}}_{i}s_{i}}}}^{2}}}} & {{Eq}.\mspace{14mu} 3} \end{matrix}$

where “argmin,” the argument of the minimum, is the set of points of the given argument for which the given function attains its minimum value (for example, argmin_(x)f(x)={x|∀y:f(y)≧f(x)}), the squared norm of x_(i), ∥x_(i)∥²=x_(i) ^(H)x_(i), x_(i) ^(H) is a Hermitian matrix of x_(i) or ∥x_(i)∥²=x_(i) ^(e)x_(i), x_(i) ^(e) is conjugate transpose of x_(i), {circumflex over (F)}_(i) is an estimate of M×N_(i) steering matrix of STA_(i) determined using a compressed beamforming procedure, e.g., the compressed beamforming procedure described in IEEE Computer Society, “Wireless LAN medium access control (MAC) and physical layer (PHY) specifications: Enhancements for very high throughput for operation in bands below 6 GHz,” IEEE P802.11ac/D1.0 Std., January 2011. The symbol “^” indicates an estimate of the corresponding signal or matrix. For example, ŝ indicates an estimate of the signal s.

When M=4 and N_(i)=2, an estimate ŝ_(MLD,1) of s₁ under maximum-likelihood detection may be determined according to Equation 3-1:

$\begin{matrix} {{\hat{s}}_{{MLD},1} = {\arg\;{\min_{s_{1} \in_{\chi_{m_{i}}^{2}}}{{\begin{bmatrix} y_{1}^{1} \\ y_{2}^{1} \end{bmatrix} - {H_{1}{{\hat{F}}_{1}\begin{bmatrix} s_{1}^{1} \\ s_{2}^{1} \end{bmatrix}}}}}^{2}}}} & {{{Eq}.\mspace{14mu} 3}\text{-}1} \end{matrix}$

FIG. 4A is a diagram of an N_(i)-dimensional square lattice spanned by an m_(i)-QAM constellation in each dimension, according to one or more exemplary embodiments. FIG. 4B is a diagram of an illustrative search tree with a masking-level difference at M=4, N₁=2, and 4-QAM for streams of a single station (STA) in FIG. 2, according to one or more exemplary embodiments. For descriptive convenience, FIG. 4B is described with respect to STA₁ of FIG. 2.

When m_(i)=16, 64, 256, and the like, the N_(i)-dimensional square lattice is spanned by an m_(i)-QAM constellation in each dimension. If 4-QAM is used, possible constellation points m₁ in each of the two dimension N₁ are four as shown in FIG. 4A (m₁=4; N₁=2). Further,

$\begin{bmatrix} y_{1}^{1} \\ y_{2}^{1} \end{bmatrix}\quad$ is a vector of two received signals received by two antennas of the user station (STA₁) 221.

As shown in FIG. 4A, when m_(i)=4, the 2-dimensional square lattice is spanned by a 4-QAM constellation in each of the two dimensions for estimating

${\hat{s}}_{{MLD},1} = {\begin{bmatrix} {\hat{s}}_{1}^{1} \\ {\hat{s}}_{2}^{1} \end{bmatrix}.}$ For ŝ₁ ¹ estimation, one of four points (a₁, b₁, c₁, d₁) is a possible candidate. For ŝ₂ ¹ estimation, one of four points (a₂, b₂, c₂, d₂) is a possible candidate. Thus, in the MLD of Equation 3-1, a total 4²(=16) combinations for (ŝ₁ ¹, ŝ₂ ¹) estimation are possible in 4-QAM constellation, i.e., (a₁, a₂), (a₁, b₂), (a₁, c₂), (a₁, d₂), (b₁, a₂), (b₁, b₂), (b₁, c₂), (b₁, d₂), (c₁, a₂), (c₁, b₂), (c₁, c₂), (c₁, d₂), (d₁, a₂), (d₁, b₂), (d₁, c₂), (d₁, d₂).

FIG. 4B illustrates the iterative calculations in a tree search format. The 16 combinations are used for (s₁ ¹,s₂ ¹) to determine 16 squared norms using Equation 3-1. For example, if the squared norm has the minimum value when (s₁ ¹, s₂ ¹)=(d₁, c₂), the estimation (ŝ₁ ¹, ŝ₂ ¹) is determined as (d₁, c₂). This requires only 16 squared norms to be determined; however, the number of calculations increases exponentially when N_(i) and m_(i) increase. It is noted that the detection merely involves the determination of signals for the user station (STA₁) 221. In other words, the aforementioned detection does not use a joint detection scheme because it ignores the term H_(i)F_(li)s_(li) along with the Gaussian noise as previously discussed.

However, as previously mentioned, the interference component H_(i)F_(li)s_(li) may increase to such a degree that it can no longer be ignored. As such, to detect the entire streams, including the interference at STA_(i), namely ŝ_(MLD) ^(i T)=[ŝ_(MLD,i) ^(i T)ŝ_(MLD/i) ^(i T)], a Maximum Likelyhood (ML) decoder using joint detection to minimize the error probability P_(s)(ŝ_(MLD) ^(i)≠s) may be expressed according to Equation 4:

$\begin{matrix} {{\hat{s}}_{MLD}^{i} = {\arg\;{\min_{s\; \in \Omega}{{y_{i} - {{\overset{\_}{H}}^{i}\begin{bmatrix} s_{i} \\ s_{li} \end{bmatrix}}}}^{2}}}} & {{Eq}.\mspace{14mu} 4} \end{matrix}$

where Ω is a discrete and finite set of s, and H ^(i)=H_(i)[{circumflex over (F)}_(i) {circumflex over (F)}_(li)], is an effective channel matrix of STA_(i). To this end, ŝ_(MLD) ^(i) represents the entire symbol vector, which is detected in STA_(i), and ŝ_(ML,i) ^(i) is the desired signal stream for STA_(i) among ŝ_(MLD) ^(i).

In the interference ignoring receiver indicated in Equation 3, the total noise strength is E[|H_(i){circumflex over (F)}_(li)s_(li)+ν_(i)|²]; whereas the noise strength is |ν_(i)|² in the interference-aware receiver detector shown in Equation 4. In the case of E[|H_(i){circumflex over (F)}_(li)s_(li)+ν_(i)|²]>E[|ν_(i)|²], the noise strength of Equation 4 becomes lower than that of Equation 3, thus leading to the improvement of the receiver performance.

However, the increased degree of channel matrices significantly increases the calculation complexity of the detector in Equation 4 compared to that of Equation 3. To resolve this complexity problem, the fixed-complexity sphere decoder (FSD) algorithm, known as the low-complexity algorithm in the SU-MIMO, is examined and modified FSD algorithms for MU-MIMO will be described below. According to one or more exemplary embodiments, a method and apparatus for applying a reordered FSD scheme to detect MU-MIMO symbols will be provided.

Model of Channel Matrix Expansion on Generalized Sphere Decoder

In Equation 4, the signal detection of the entire s on STA_(i), ŝ_(MLD) ^(i), should be first performed to detect ŝ_(MLD,i) ^(i). However, because effective channel matrix H ^(i) is an N_(i)×M matrix (when Σ_(i=1) ^(K)N_(i)=M) and N_(i)<M, the rank of the effective channel matrix H ^(i) is deficient. In this case, to apply an SD-based algorithm for a low error probability, the following change can be possible, as explained in M. O. Damen, K. Abed-Meraim, and J.-C. Belfiore, “Generalised sphere decoder for asymmetrical space-time communication architecture,” Electronics Lett., vol. 36, pp. 166-167, January 2000: ŝ _(MLD) ^(i)=argmin_(sεΩ) ∥y ^(i) −D ^(i) s∥ ²  Eq. 5-1 where G ^(i) =H ^(i) ^(H) H ^(i)=σ² I _(M) =D ^(i) ^(H) D ^(i)  Eq. 5-2 y ^(i) =G ^(i) ⁻² H ^(i) ^(H) y _(i)  Eq. 5-3

Consequently, effective channel matrix H ^(i) is extended to a full-rank M×M matrix D^(i); thus, the detection of all elements in ŝ_(MLD) ^(i) is possible with SD-based algorithm including FSD algorithm. In some embodiments, the term, σ²I_(M), may be ignored, then G^(i)=H ^(i) ^(H) H ^(i)=D^(i) ^(H) D^(i) may be used.

Extended Fixed-Complexity Sphere Decoder for Downlink MU-MIMO System

A detector without considering interferences suffers from performance degradation by low signal-to-interference ratio (SIR). On the other hand, the optimal joint MU-MIMO detector suffers from an implementation complexity problem. In this sense, the FSD based algorithm would be attractive solution promising low complexity for supporting MU-MIMO communication system. In this disclosure, a new extended FSD decoder based on reconstruction of interference channel matrix for interference mitigation on MU-MIMO communication system is provided. One or more exemplary embodiments provides methods based on the channel matrix expansion using the generalized SD (GSD) and a new channel matrix reconstruction to offer enhanced receiver performance for each STA.

Adaptation of Conventional Fixed-Complexity Sphere Decoder

The FSD algorithm is one of the algorithms designed to simplify the calculation complexity problem in which the MLD expressed through Equation 3 exponentially increases based on modulation and to the degrees of the transmission antenna. The FSD considerably reduces calculation complexity using S_(i)⊂x_(m) _(i) ^(N) ^(i) , the restricted search space by the node distribution vector of n_(S) _(i) =(n_(i,1), n_(i,2), . . . , n_(i,N) _(i) ) instead of x_(m) _(i) ^(N) ^(i) , and the entire search space of the MLD. The process can be written as ŝ _(FSD,i)=argmin_(s) _(i) _(εS) _(i) ∥y _(i) −H _(i) {circumflex over (F)} _(i) s _(i)∥²  Eq. 6

Thus, the value of n_(i,j), the j^(th) element of n_(S) _(i) , is either one or m_(i), according to the required receiver performance. When the entire n_(i,j) value is one, ŝ_(FSD,i) is same with ŝ_(ZF,i) for all i through the single route search, as observed in the zero-forcing detector. Further, when the entire n_(i,j) value is m_(i), a decrease in the search space because of static branching does not occur, thus indicating that ŝ_(FSD,i) is same with ŝ_(MLD,i), as observed by the MLD.

To obtain quasi-ML performance, when the number of single-search (SS) layers and full-search (FS) layers are expressed as l_(i,SS) and l_(i,FS) respectively, the FSD needs to satisfy the constraint conditions shown in Equation 7. l _(i,FS)≧┌√{square root over (N _(i))}−1┐,l _(i,SS) =N _(i) −l _(i,FS)  Eq. 7

Under these conditions, the number of symbols searched by the FSD algorithm is m_(i) ^(l) ^(i,FS) . For example, when N_(i)=4, l_(iSS)=3 and l_(i,FS)=1. Accordingly, n_(S) _(i) will be (1,1,1,m_(i)) and the number of the searched symbols is m_(i).

After determining the l_(i,FS) and l_(i,SS), The FSD channel matrix ordering which determines the detection ordering of the signal s_(i,j), for j=1, . . . , N_(i), may be performed with channel matrix

${H_{i}{\hat{F}}_{i}} = \begin{bmatrix} {\overset{\_}{h}}_{11}^{i} & \ldots & {\overset{\_}{h}}_{1N_{i}}^{i} \\ \vdots & \ddots & \vdots \\ {\overset{\_}{h}}_{N_{i}1}^{i} & \ldots & {\overset{\_}{h}}_{N_{i}N_{i}}^{i} \end{bmatrix}$ to achieve quasi-ML performance (L. G. Barbero and J. S. Thompson, “Fixing the complexity of the sphere decoder for MIMO detection,” IEEE Trans. Wireless Commun., vol. 7, pp. 2131-2142, June 2008.). In this process, the N_(i) columns of H _(i)=H_(i){circumflex over (F)}_(i) are ordered iteratively so that the signals with largest post-processing noise amplification are detected in the FS layers. On the other hand, the signals with smallest post processing noise amplification are detected in the SS layers.

When u_(i) is the index vector used to the FSD ordering, it can be determined in every iteration according to the following, for k=N_(i), N_(i)−1, . . . , 1.

(A) When, the k+1th index element of u_(i), u_(i,k+1) is obtained through the previous repetition process and H _(i(u) _(i,k+1) ₎ is the matrix in which columns of u_(i,k+1) selected through the previous repetition process are replaced with zero column vector, H _(i,(u) _(i,k+1) ₎ ^(†)=(H _(i,(u) _(i,k+1) ₎ ^(H) H _(i,(u) _(i,k+1) ₎)⁻¹ H _(i,(u) _(i,k+1) ₎ ^(H) is calculated. H _(i,(u) _(i,k+1) ₎ ^(†) is the pseudo-inverse of H _(i,(u) _(i,k+1) ₎.

(B) When (H _(i,(u) _(i,k+1) ₎ ^(†))_(j) is the j^(th) row of H _(i,(u) _(i,k+1) ₎ ^(†) with jε[1,N_(i)]−{u_(i,k+1)}, the index u_(i,k) is calculated through Equation 8.

$\begin{matrix} {u_{i,k}\left\{ \begin{matrix} {{{\arg\;{\max_{j}\left. {\underset{\_}{H}}_{i,{(u_{i,{k + 1}})}^{\dagger}} \right)_{j}}}}^{2},} & {{{if}\mspace{14mu} n_{i,k}} = m_{i}} \\ {{{\arg\;{\min_{f}\left. {\underset{\_}{H}}_{i,{(u_{i,{k + 2}})}^{\dagger}} \right)_{j}}}}^{2},} & {{{if}\mspace{14mu} n_{i,k}} \neq m_{i}} \end{matrix} \right.} & {{Eq}.\mspace{14mu} 8} \end{matrix}$

where

${\underset{\_}{H}}_{i,{(u_{i,{k + 1}})}} = {\underset{\_}{H}}_{i}$ for initial condition.

Using the index vector u_(i), the ordered channel matrix {tilde over (H)}_(i) by ordering columns of H _(i) can be obtained as below:

$\begin{matrix} {{\overset{\sim}{H}}_{i} = \begin{bmatrix} {\overset{\_}{h}}_{i,u_{i\;,1}} & {{\overset{\_}{h}}_{i,u_{i,\; 2}}\ldots} & {\overset{\_}{h}}_{i,u_{i,N_{i}}} \end{bmatrix}} & {{Eq}.\mspace{14mu} 9} \end{matrix}$

where h _(i,u) _(i,k) is u_(i,k)th column vector of H _(i).

Then the ŝ_(FSD,i) can be obtained by sequencing H _(i) using u_(i)=(u_(SS,i),u_(FS,i)) which are obtained by repeating the process above and by performing the FSD tree search: it is similar to SD tree search in finding minimum Euclidean distance from N−1 to 0 layer, but its search tree isn't expanded to cover all m_(i)-QAM constellation in u_(SS,i) layers.

The basic FSD algorithm is known as the symbol detection method for the suboptimal MIMO that can be realized with low complexity in the typical MIMO communication system. Hereinafter, a method for effectively applying this algorithm in the MU-MIMO communication system will be provided.

Extended Scheme Using Reconstruction of Channel Matrix for Interference Mitigation

In common, the FSD algorithm has two components affecting receiver performance: 1) the structure of search tree and 2) channel matrix ordering. In conventional FSD, the search tree is divided into full-search (FS) layers and single-search (SS) layers according to Equation 7 for offering quasi-ML performance i.e., satisfying Equation 10. P _(s)(ŝ _(FSD,i) ≠s _(i))≦P _(s)(ŝ _(MLD,i) ≠s _(i))+P _(s)(s _(i)ε

)  Eq. 10

In particular, whenever P_(s)(s_(i)ε

)<<P_(s)(ŝ_(MLD,i)≠s_(i)), the FSD will experience close to optimal performance, and it is proved in the paper, M. O. Damen, K. Abed-Meraim, and J.-C. Belfiore, “Generalised sphere decoder for asymmetrical space-time communication architecture,”Electronics Lett., vol. 36, pp. 166-167, January 2000. In addition, through ordering, the channel matrix is ordered so that a signal with low signal strength is detected in the FS layers, in contrast to that in the SS layers (See J. Jalden, L. G. Barbero, B. Ottersten and J. S. Thompson, “The Error probability of the fixed-complexity sphere decoder,” IEEE Trans. Signal Processing, vol. 57, pp. 2711-2720, July 2009 (“Jalden et al.”).).

However, in case this method is applied to interference-aware joint, the search tree corresponding to extended channel matrix D^(i) may be divided into FS layers with l_(FS) ^(i)≧┌√{square root over (M)}−1┐ and SS layers to satisfy l_(SS) ^(i)=M−l_(FS) ^(i) (when Σ_(i=1) ^(K)N_(i)=M). Through channel matrix ordering described in previous subsection, the interference channels are input to the FS layers because the signal strengths of the interference signal streams are mostly low. i.e., the channels corresponding to the desired signals are input to the SS layers.

Thus, the error probability P_(s)(ŝ_(FSD) ^(i)≠s) for the entire ŝ_(FSD) ^(i) detected in STA_(i) has a quasi-ML performance according to Jalden et al. However, the error probability of the desired signal P_(s)(ŝ_(FSD,i) ^(i)≠s_(i)) cannot have a quasi-ML performance because each ŝ_(FSD,i) ^(i) symbol operates in the SS layer, i.e., the error probability P_(s)(ŝ_(FSD) ^(i)≠s) is not optimal because P_(s)(s_(i)ε

_(i) ^(i)) cannot assume less then P_(s)(ŝ_(MLD,i)≠s_(i)).

Therefore, to ensure a quasi-ML performance of P_(s)(ŝ_(FSD) ^(i)≠s) and P_(s)(ŝ_(FSD,i) ^(i)≠s_(i)), columns that are larger than ┌√{square root over (M)}−1┐ in the effective channel matrix H ^(i) of the entire signal streams need to be included in the FS layers. Similarly, columns those are larger than ┌√{square root over (N_(i))}−1┌ in the matrix H_(i){circumflex over (F)}_(i) of the desired signal streams need to be included in the FS layers.

Under this condition, the modified FSD ordering is characterized as follows, according to one or more exemplary embodiments.

FIG. 5 is a flowchart of a process for modifying a fixed sphere decoding (FSD) ordering scheme, according to one or more exemplary embodiments.

Referring to FIG. 5, in operation S510, by conducting FSD ordering using H ^(i), the index set u_(FS) ^(i) of the FS layer of {umlaut over (H)}^(i), which is ordered from H ^(i), and the index set u_(SS) ^(i) of the SS layer of {umlaut over (H)}^(i) may be obtained.

According to one or more exemplary embodiments, the effective channel matrix H ^(i), an N_(i)×M matrix (when Σ_(i=1) ^(K)N_(i)=M) may be ordered to obtain the index set u_(FS) ^(i) of the FS layer of {umlaut over (H)}^(i) and the index set u_(SS) ^(i) of the SS layer of {umlaut over (H)}^(i) so that the signals with largest post-processing noise amplification are detected in the FS layers (columns of H ^(i) having relatively lower power are detected in the FS layers of {umlaut over (H)}^(i)). On the other hand, the signals with smallest post processing noise amplification are detected in the SS layers (columns of H ^(i) having relatively higher power are detected in the SS layers of {umlaut over (H)}^(i)).

When u is the index vector used to the FSD ordering, it can be determined in every iteration according to the following, for k=M, M−1, . . . , 1.

(A) When, the k+1th index element of u, u_(k+1) is obtained through the previous repetition process and H _((u) _(k+1) ₎ is the matrix in which columns of u_(k+1) selected through the previous repetition process are replaced with zero column vector, H _((u) _(k+1) ₎ ^(†)=(H _((u) _(k+1) ₎ ^(i H) H ^(i) _((u) _(k+1) ₎ ⁻¹ H ^(i) _((u) _(k+1) ₎ ^(H) is calculated.

(B) When (H ^(i) _((u) _(k+1) ₎ ^(†))_(j) is the j^(th) row of H ^(i) _((u) _(k+1) ₎ ^(†) with jε[1,M]−{u_(k+1)}, the index u_(k) is calculated through Equation 8.

$\begin{matrix} {u_{k} = \left\{ \begin{matrix} {{\arg\;{\max_{j}{\left( {\overset{\_}{H}}_{{(u_{k + 1})}^{\dagger}}^{i} \right)_{j}}^{2}}},} & {{{if}\mspace{14mu} n_{k}} = m_{i}} \\ {{\arg\;{\min_{j}{\left( {\overset{\_}{H}}_{{(u_{k + 2})}^{\dagger}}^{i} \right)_{j}}^{2}}},} & {{{if}\mspace{14mu} n_{k}} \neq m_{i}} \end{matrix} \right.} & {{Eq}.\mspace{14mu} 8} \end{matrix}$

where H ^(i) _((u) _(M+1) ₎=H ^(i) for initial condition. According to the Equation 8, the magnitudes of rows of H ^(i) _((u) _(k+1) ₎ ^(\) are compared and arranged. ∥(H ^(i) _((u) _(k+1) ₎ ^(\))_(j)∥² is the squared norm of the j^(th) row of H ^(i) _((u) _(k+1) ₎ ^(\), which is associated with (H ^(i) _((u) _(k+1) ₎)_(j), the j^(th) column of H ^(i) _((u) _(k+1) ₎. Further, if ∥(H ^(i) _((u) _(k+1) ₎ ^(\))_(j)∥² has the maximum magnitude for the j=m^(th) row of H ^(i) _((u) _(k+1) ₎ ^(\), ∥(H ^(i) _((u) _(k+1) ₎)_(j)∥² has the minimum magnitude for the j=m^(th) column of H ^(i) _((u) _(k+1) ₎. If ∥(H ^(i) _((u) _(k+1) ₎ ^(\))_(j)∥² has the minimum magnitude for the j=n^(th) row of H ^(i) _((u) _(k+1) ₎ ^(\), ∥(H ^(i) _((u) _(k+1) ₎)_(j)∥² has the maximum magnitude for the j=n^(th) column of H ^(i) _((u) _(k+1) ₎.

Using the index vector u, the ordered channel matrix {umlaut over (H)}^(i) by ordering columns of H ^(i) can be obtained as below: {umlaut over (H)} ^(i) ±[h _(u) ₁ ^(i) h _(u) ₂ ^(i) . . . h _(u) _(M) ^(i)]  Eq. 9

where is h _(u) _(k) ^(i) is u_(k)th column vector of H ^(i).

From the {umlaut over (H)}^(i), which is ordered from H ^(i), columns that are larger than ┌√{square root over (M)}−1┐ from the rightmost column of {umlaut over (H)}^(i) are included in the full search (FS) layers (corresponding to the index set u_(FS) ^(i)). For example, if M is 8, at least two columns, h _(u) _(M) ^(i) and h _(u) _(M−1) ^(i), are included in the FS layers (┌√{square root over (8)}−1=2). The index set u_(FS) ^(i) of the FS layers of the ordered {umlaut over (H)}^(i) may be obtained from the at least two columns, h _(u) _(M) ^(i) and h _(u) _(M−1) ^(i), and the index set u_(SS) ^(i) of the SS layers of the ordered {umlaut over (H)}^(i) may be obtained from the rest columns other than the at least two columns, h _(u) _(M) ^(i) and h _(u) _(M−1) ^(i).

In operation S520, by conducting FSD ordering using H_(i){circumflex over (F)}_(i), the ordered index set u_(FS,i) ^(l) of the FS layer of {tilde over (H)}_(i) and the ordered index set u_(SS,i) ^(i) of the SS layer of {tilde over (H)}_(i) are obtained.

From the {tilde over (H)}_(i), which is ordered from H_(i){circumflex over (F)}_(i), columns that are larger than ┌√{square root over (N_(i))}−1┐ from the rightmost column of {tilde over (H)}_(i) are included in the FS layers of {tilde over (H)}_(i). For example, as described above with respect to Equations 8 and 9, if N_(i) is 4, at least one column,

${\overset{\_}{h}}_{i,u_{i,N_{i}}},$ is included in the FS layers (┌√{square root over (4)}−1┐=1). The index set u_(FS,i) ^(i) of the FS layers of the ordered {tilde over (H)}_(i) may be obtained from the at least one column,

${\overset{\_}{h}}_{i,u_{i,N_{i}}},$ and the index set u_(SS,i) ^(i) of the SS layers of the ordered {tilde over (H)}_(i) may be obtained from the rest columns other than the at least one column,

${\overset{\_}{h}}_{i,u_{i,N_{i}}}.$

In operation S530, by using the ordered index set obtained previously, the modified ordered index set ū_(FS) ^(i) and ū_(SS) ^(i) may be obtained using the following equations: ū _(FS) ^(i) =u _(FS) ^(i) ∪u _(FS,i) ^(i)

$\begin{matrix} \begin{matrix} {{\overset{\_}{u}}_{SS}^{i} = {u_{SS}^{i}\backslash u_{{FS},i}^{i}}} \\ {= \left\{ {{u\text{:}\mspace{14mu} u} \in {u_{SS}^{i}\mspace{14mu}{and}\mspace{14mu} u} \notin u_{{FS},i}^{i}} \right\}} \end{matrix} & {{Eq}.\mspace{14mu} 1} \end{matrix}$

Consequently, the number of FS layers l_(FS) ^(i) and the number of SS layers l_(SS) ^(i) are obtained through the following conditions under which both P_(s)(ŝ_(ML,i) ^(i)≠s_(i)) and P_(s)(ŝ_(ML) ^(i)≠s) satisfy the quasi-ML performance: l _(FS) ^(i) =|ū _(FS) ^(i)| l _(SS) ^(i) =M−l _(FS) ^(i) =|ū _(SS) ^(i)|  Eq. 12

where |ū_(FS) ^(i)| is the number of elements of the set ū_(FS) ^(i), and |ū_(SS) ^(i)| is the number of elements of the set ū_(SS) ^(i).

In operation S540, H ^(i) may be reordered according to ū_(FS) ^(i) and ū_(SS) ^(i). Accordingly, columns of the set ū_(FS) ^(i) are located on the right side of the columns of the set ū_(SS) ^(i). The modified ordered matrix H ^(i), (hereinafter, H ^(i) may be referred to as “modified effective channel matrix”) by ordering columns of H ^(i) can be obtained. The modified effective channel matrix H ^(i) has differently ordered columns of H ^(i), and has at least one more FS layer than {umlaut over (H)}^(i) by adding, into the FS layer of H ^(i), the column corresponding to the ordered index set u_(FS,i) ^(i) of the FS layer of {tilde over (H)}_(i). In operation S550, an M×M full rank matrix, D ^(i), may be calculated from the reordered H ^(i) (N_(i)×M) based on Cholesky Decomposition, e.g., Equation 13 shown below: G ^(i) =H ^(i) ^(H) H ^(i)+σ² I _(M) =D ^(i) ^(H) D ^(i)  Eq. 13

Here, the extended full rank matrix D ^(i) may be an upper triangular matrix. In some embodiments, the term, σ²I_(M), may be ignored, then G ^(i)=H ^(i) ^(H) H ^(i)=D ^(i) ^(H) D ^(i) may be used.

In operation S560, an FSD decoding may be performed using a joint detection scheme to obtain ŝ _(FSD) ^(i). For example, the following Equations may be used along with the Equation 13.

$\begin{matrix} \begin{matrix} {{\hat{\overset{\_}{\overset{\_}{s}}}}_{FSD}^{i} = {{argmin}_{s \in \delta}{{{\overset{.}{y}}^{i} - {{\overset{\_}{\overset{\_}{D}}}^{\hat{s}}\overset{\_}{\overset{\_}{s}}}}}^{2}}} \\ {= {{argmin}_{s \in \delta}{{{\overset{\_}{\overset{\_}{y}}}^{i} - {{\overset{\_}{\overset{\_}{H}}}^{i}\overset{\_}{\overset{\_}{s}}}}}^{2}}} \end{matrix} & {{{Eq}.\mspace{14mu} 14}\text{-}1} \\ {{\overset{.}{y}}^{i} = {{\overset{\_}{\overset{\_}{G}}}^{i^{- 1}}{\overset{\_}{\overset{\_}{H}}}^{i^{H}}{\overset{\_}{\overset{\_}{y}}}^{i}\mspace{14mu}{or}}} & {{{Eq}.\mspace{14mu} 14}\text{-}2} \\ {{\overset{.}{y}}^{i} = {{{\overset{\_}{\overset{\_}{H}}}^{i^{\dagger}}{\overset{\_}{\overset{\_}{y}}}^{i}} = {\left( {{\overset{\_}{\overset{\_}{H}}}^{i^{H}}{\overset{\_}{\overset{\_}{H}}}^{i}} \right)^{- 1}{\overset{\_}{\overset{\_}{H}}}^{i^{H}}{\overset{\_}{\overset{\_}{y}}}^{i}}}} & {{{Eq}.\mspace{14mu} 14}\text{-}3} \end{matrix}$

where ŝ _(MLD) ^(i)=argmin_(sεΩ)∥y ^(i)−H ^(i) s∥² (with ordering), ŝ_(MLD) ^(i)=argmin_(sεΩ)∥y_(i)−H ^(i)s∥² (before ordering), S is the restricted search space of Ω=Π_(i=1) ^(K)x_(m) _(i) ^(N) ^(i) , i.e., (

⊂Ω). Columns of s ^(T) are ordered by ordering columns of s^(T) and Columns of y ^(T) are ordered by ordering columns of y^(T), according to the modified column ordering of H ^(i) from H ^(i). The FSD under the joint detection scheme considerably reduces calculation complexity for determining total M symbols using the S defined by a node distribution vector of n_(s)=(n₁, n₂, . . . , n_(M)), instead of Ω and the entire search space of the MLD under the joint detection scheme.

In addition, unlike a comparative example shown in Koo et al., “An extendable Fixed-Complexity Sphere Decoder for Downlink Multi-User MIMO Communication System,” The journal of Korea Information and Communications Society, vol. 39A No. 04, pp. 180-187, April 2014, the example of FIG. 5 reduces the number of Cholesky decomposition processes and eliminates the ordering process of D_(i). Accordingly, a relatively reduced complexity of calculations and faster processing time may be attained while providing the same efficient performance described above.

The value of n_(j), the j^(th) element of n_(s), is either one or m_(i), according to the required receiver performance. For example, n_(s) may be (1, 1, . . . , m_(i), m_(i)) where the elements corresponding to one are associated with the SS layers and the elements corresponding to m_(i) are associated with the FS layers.

In an example, when M=8, N₁=4, N₂=4, K=2, H ¹=[h ¹ ₁ h ¹ ₂ h ¹ ₃ h ¹ ₄ h ¹ ₅ h ¹ ₆ h ¹ ₇ h ¹ ₈] is a 4×8 matrix. Through an FSD ordering, an ordered {umlaut over (H)}¹=[h ¹ _(u) ₁ h ¹ _(u) ₂ . . . h ¹ _(u) _(s) ] may be obtained. For example, H ¹ may be ordered to obtain {umlaut over (H)}¹=[h ¹ ₃ h ¹ ₄ h ¹ ₁ h ¹ ₂ h ¹ ₆ h ¹ ₅ h ¹ ₈ h ¹ ₇]. If only two columns are included in FS layers, then the two rightmost columns of FSD ordered effective channel matrix, the column 7 and the column 8 of H ¹, may be included in the FS layers of {umlaut over (H)}¹ based on the ordering of [h ¹ ₃ h ¹ ₄ h ¹ ₁ h ¹ ₂ h ¹ ₆ h ₁ ⁵ h ¹ ₈ h ¹ ₇]. Then, u_(FS) ¹={8, 7} (See S510).

Further, a 4×4 matrix H₁{circumflex over (F)}₁=[h ¹ ₁ h ¹ ₂ h ¹ ₃ h ¹ ₄] may be ordered through an FSD ordering and ordered {tilde over (H)}₁=[h ¹ ₄ h ¹ ₁ h ¹ ₂ h ¹ ₃] may be obtained. If only one column is included in an FS layer, then the rightmost column of the FSD ordered {tilde over (H)}₁, the column 3 of H₁{circumflex over (F)}₁, is included in the FS layers of {tilde over (H)}₁. Then, u_(FS,1) ¹={3} (See S520). The column(s) of H ¹ corresponding to u_(FS,1) ¹ may be positioned at the rightmost column(s) of reordered H ¹ as shown below.

According to S530 and S540, H ¹ may be determined as H ¹=[h ¹ ₄ h ¹ ₁ h ¹ ₂ h ¹ ₆ h ¹ ₅ h ¹ ₈ h ¹ ₇ h ¹ ₃], and the set of the modified FS layers of H ¹ is ū_(FS) ¹=u_(FS) ¹∪u_(FS,1) ¹={8, 7, 3}. In this way, the FS layers of {tilde over (H)}₁ can be included in FS layers of joint detection FSD decoding process, which reduces error probability of the MU-MIMO joint detection using the FSD decoding.

In addition, the process described with respect to FIG. 5 does not require more than one Cholesky Decomposition and does not require ordering processes of the full-rank matrix D^(i).

Further, according to one or more exemplary embodiments, the second right most column h ¹ ₂ of {tilde over (H)}₁ may be optionally included in the FS layer. Then, H ¹ may be determined as H ¹=[h ¹ ₄ h ¹ ₁ h ¹ ₆ h ¹ ₅ h ¹ ₈ h ¹ ₇ h ¹ ₂ h ¹ ₃]. Then, the set of the modified FS layers is ū_(FS) ¹=u_(FS) ¹∪u_(FS,1) ¹={8, 7, 2, 3}. However, the order among columns 8, 7, 2, 3 may be changed. In this case, if the total number of the FS layers is limited to three, then column 8 may be included in the SS layers. In other words, ū_(FS) ¹=u_(FS) ¹∪u_(FS,1) ¹={7, 2, 3}. According to another example, at least one column, e.g., column 8, or a column in ū_(SS) ¹, may be eliminated from ū_(FS) ¹ and ū_(SS) ¹, and the eliminated column(s) may be processed by an interference whitening process, which will be described later in more detail.

Although the above examples are described when Σ_(i=1) ^(K)N_(i)=M, in general, D ^(i) is a Σ_(i=1) ^(K)N_(i)×Σ_(i=1) ^(K)N_(i) matrix, and H ^(i) is an N_(i)×Σ_(i=1) ^(K)N_(i) matrix, especially when Σ_(i=1) ^(K)N_(i)≠M.

FIG. 6 is a flowchart illustrating of a process for modifying a fixed sphere decoding (FSD) ordering scheme, according to one or more exemplary embodiments.

Referring to FIG. 6, in operation S610 (similar to the operation S510 of FIG. 5), by conducting FSD ordering using H ^(i), the index set u_(FS) ^(i) of the FS layer of {umlaut over (H)}^(i) and the index set u_(SS) ^(i) of the SS layer of {umlaut over (H)}^(i) are obtained.

In operation S620 (similar to the operation S520 of FIG. 5), by conducting FSD ordering using H_(i){circumflex over (F)}_(i), the ordered index set u_(FS,i) ^(i) of the FS layer of {tilde over (H)}_(i) and the ordered index set u_(SS,i) ^(i) of the SS layer of {tilde over (H)}_(i) are obtained.

In operation S630, by using the ordered index set obtained previously, the modified ordered index set ū_(FS) ^(i) and ū_(SS) ^(i) are obtained using the following equations: u _(FS,i) ^(i) ⊂ ū _(FS) ^(i)⊂(u _(FS) ^(i) ∪u _(FS,i) ^(i)) u _(SS,i) ^(i) ⊂ū _(SS) ^(i) ⊂(u _(FS) ^(i) ∪u _(SS) ^(i))\ū _(FS) ^(i) ={u:uε(u _(FS) ^(i) ∪u _(SS) ^(i)) and u∉ū _(FS) ^(i)}  Eq. 15

Consequently, the number of FS layers l_(FS) ^(i) and the number of SS layers l_(SS) ^(i) are obtained through the following conditions under which both P_(s)(ŝ_(ML,i) ^(i)≠s_(i)) an P_(s)(ŝ_(ML) ^(i)≠s) satisfy the quasi-ML performance: l_(FS) ^(i)=|ū_(FS) ^(i)| l_(SS) ^(i)=|ū_(SS) ^(i)|  Eq. 16

where |ū_(FS) ^(i)| is the number of elements of the set ū_(FS) ^(i), and |ū_(SS) ^(i)| is the number of elements of the set ū_(SS) ^(i). Unlike the embodiment of FIG. 5, |ū_(FS) ^(i)|+|ū_(SS) ^(i)| may be smaller than M (or smaller than Σ_(i=1) ^(K)N_(i) when Σ_(i=1) ^(K)N_(i)≠M). For example, |ū_(FS) ^(i)|+|ū_(SS) ^(i)| may be M−|ū_(n) ^(i)|, where |ū_(n) ^(i)| is the number of elements of the set ū_(n) ^(i), and ū_(n) ^(i)=(u_(FS) ^(i)∪u_(SS) ^(i))\(ū_(FS) ^(i)∪ū_(SS) ^(i)).

In operation S640, H ^(i) may be reordered according to ū_(FS) ^(i) and ū_(SS) ^(i). Accordingly, columns of the set ū_(FS) ^(i) are located on the right side of the columns of the set u_(SS) ^(i). The modified ordered matrix H ^(i) by ordering columns of H ^(i) can be obtained. The modified ordered matrix H ^(i) has differently ordered columns of H ^(i), and adds, into the FS layer of H ^(i), the column corresponding to the ordered index set u_(FS,i) ^(i) of the FS layer of {tilde over (H)}_(i). Further, unlike the embodiment of FIG. 5, H ^(i) may have fewer columns than H ^(i).

In an example, when M=8, N₁=4, N₂=4, K=2, and |ū_(n) ^(i)|=2, H ^(i)=[h ¹ ₁ h ¹ ₂ h ¹ ₃ h ¹ ₄ h ¹ ₅ h ¹ ₆ h ¹ ₇ h ¹ ₈] is a 4×8 matrix, and two columns of H ¹, are not included in the FS layer and SS layer of H ¹. More specifically, through an FSD ordering, an ordered {umlaut over (H)}¹=[h ¹ _(u) ₁ h ¹ _(u) ₂ . . . h ¹ _(u) _(s) ] may be obtained. For example, H ¹ may be ordered to obtain {umlaut over (H)}¹=[h ¹ ₃ h ¹ ₄ h ¹ ₁ h ¹ ₂ h ¹ ₆ h ¹ ₅ h ¹ ₈ h ¹ ₇]. If only two columns are included in FS layers, then the two rightmost columns of FSD ordered effective channel matrix, the column 7 and the column 8 of H ¹, may be included in the FS layers based on the ordering of [h ¹ ₃ h ¹ ₄ h ¹ ₁ h ¹ ₂ h ¹ ₆ h ¹ ₅ h ¹ ₈ h ¹ ₇]. Then, u_(FS) ¹={8, 7} (See S610).

Further, a 4×4 matrix H₁{tilde over (F)}₁=[h ¹ ₁ h ¹ ₂ h ¹ ₃ h ¹ ₄] may be ordered through an FSD ordering and ordered {tilde over (H)}₁=[h ¹ ₄ h ¹ ₁ h ¹ ₂ h ¹ ₃] may be obtained. If only one column is included in an FS layer of {tilde over (H)}₁, then the rightmost column of the FSD ordered {tilde over (H)}₁, the column 3 of H₁{circumflex over (F)}₁, may be included in the FS layer of {tilde over (H)}₁. Then, u_(FS,1) ¹={3}, and u_(SS,1) ¹={4, 1, 2} (See S620). The column(s) of H ¹ corresponding to u_(FS,1) ¹ may be positioned at the rightmost column(s) of reordered H ¹ as shown below.

According to operations S630 and S640, H ¹ may be determined as H ¹=[h ¹ ₄ h ¹ ₁ h ¹ ₂ h ¹ ₅ h ¹ ₇ h ¹ ₃], and the set of the modified FS layers of H ¹ is ū_(FS) ¹={7, 3}⊂(u_(FS) ¹∪u_(FS,1) ¹). The set of the modified SS layers is ū_(SS) ¹={4, 1, 2, 5}⊃u_(SS,1) ¹={4, 1, 2}. In this way, the FS layers of {tilde over (H)}₁ can be included in FS layers of joint detection FSD decoding process, which reduces error probability of the MU-MIMO joint detection using the FSD decoding. In addition, in this example, the number of FS layers is not three, unlike the example of FIG. 5, thereby reducing the complexity while providing quasi-ML performance. The columns removed from H ¹ may be included in a set H _(/n) _(s) ^(i)=[h ¹ ₆ h ¹ ₈], which may be used for interference whitening, according to one or more exemplary embodiments.

In operation S650, a full rank matrix D ^(i) may be calculated from the reordered H ^(i) based on Cholesky Decomposition, e.g., Equation 13. Here, the extended full rank matrix D ^(i) may be an upper triangular matrix. In some embodiments, the term σ²I_(M) may be ignored, then G ^(i)=H ^(i) ^(H) H ^(i)=D ^(i) ^(H) D ^(i) may be used. Further, since at least one column of H ^(i) may be eliminated in configuring the reordered H ^(i), D ^(i) may have lower rank than an M×M matrix.

In operation S660, an FSD decoding may be performed using a joint detection scheme to obtain {tilde over (s)} _(FSD) ^(i). For example, the Equations 14-1, 14-2, and 14-3 may be used along with the Equation 13. However, D ^(i) may have lower rank than an M×M matrix.

FIG. 7 is a flowchart illustrating of a process for modifying a fixed sphere decoding (FSD) ordering scheme, according to one or more exemplary embodiments.

Referring to FIG. 7, in operation S710 (similar to the operation S510 of FIG. 5), by conducting FSD ordering using H ^(i), the index set u_(FS) ^(i) of the FS layer of {umlaut over (H)}^(i) and the index set u_(SS) ^(i) of the SS layer of {umlaut over (H)}^(i) are obtained.

In operation S720 (similar to the operation S520 of FIG. 5), by conducting FSD ordering using H_(i){tilde over (F)}_(i), the ordered index set u_(FS,i) ^(i) of the FS layer of {tilde over (H)}_(i) and the ordered index set u_(SS,i) ^(i) of the SS layer of {tilde over (H)}_(i) are obtained.

In operation S730, by using the ordered index set obtained previously, the modified ordered index set ū_(FS) ^(i) and ū_(SS) ^(i) are obtained using the following equations: u _(FS,i) ^(i) ⊂ ū _(FS) ^(i)⊂(u _(FS) ^(i) ∪u _(FS,i) ^(i)) u _(SS,i) ^(i) ⊂ū _(SS) ^(i) ⊂(u _(FS) ^(i) ∪u _(SS) ^(i))\ū _(FS) ^(i) ū _(n) ^(i)=(u _(FS) ^(i) ∪u _(SS) ^(i))\(ū _(FS) ^(i) ∪ū _(SS) ^(i))  Eq. 17

Consequently, the number of FS layers l_(FS) ^(i) and the number of SS layers l_(SS) ^(i) are obtained through the following conditions under which both P_(s)(ŝ_(ML,i) ^(i)≠s_(i)) and P_(s)(ŝ_(ML) ^(i)≠s) satisfy the quasi-ML performance: l_(FS) ^(i)=|ū_(FS) ^(i)| l_(SS) ^(i) =|ū _(SS) ^(i)|  Eq. 18

where |ū_(FS) ^(i)| is the number of elements of the set ū_(FS) ^(i), and |ū_(SS) ^(i)| is the number of elements of the set ū_(SS) ^(i). Unlike the embodiment of FIG. 5, |ū_(FS) ^(i)|+|ū_(SS) ^(i)| may be smaller than M (or smaller than Σ_(i=1) ^(K)N^(i) when Σ_(i=1) ^(K)N_(i)≠M). For example, |ū_(FS) ^(i)|+|ū_(SS) ^(i)| may be M−|ū_(n) ^(i)|, where |ū_(n) ^(i)| is the number of elements of the set ū_(n) ^(i), and ū_(n) ^(i)=(u_(FS) ^(i)∪u_(SS) ^(i))\(ū_(FS) ^(i)∪ū_(SS) ^(i)).

In operation S740, H ^(i) may be reordered according to ū_(FS) ^(i) and ū_(SS) ^(i). Accordingly, columns of the set ū_(FS) ^(i) are located on the right side of the columns of the set ū_(SS) ^(i). The modified effective channel matrix H ^(i) by ordering columns of H ^(i) can be obtained. The modified effective channel matrix H ^(i) has differently ordered columns of H ^(i), and adds, into the FS layer of H ^(i), the column corresponding to the ordered index set u_(FS,i) ^(i) of the FS layer of {tilde over (H)}^(i). Further, unlike the embodiment of FIG. 5, H ^(i) may have fewer columns than H ^(i) when (|ū_(n) ^(i)|>0).

In an example, when M=8, N₁=4, N₂=4, K=2, and |ū_(n) ²|=2 for i=2 (for the station having index i=2), H ²=[h ² ₁ h ² ₂ h ² ₃ h ² ₄ h ² ₅ h ² ₆ h ² ₇ h ² ₈] is a 4×8 matrix, and two columns of H ², are not included in the FS layer and SS layer of H ². More specifically, through an FSD ordering, an ordered {umlaut over (H)}²=[h ² _(u) ₁ h ² _(u) ₂ . . . h ² _(u) _(s) ] may be obtained. For example, H ² may be ordered to obtain {umlaut over (H)}²=[h ² ₆ h ² ₅ h ² ₈ h ² ₇ h ² ₃ h ² ₄ h ² ₁ h ² ₂]. If only two columns are included in FS layers, then the two rightmost columns of FSD ordered effective channel matrix, the column 1 and the column 2 of H ², may be included in the FS layers based on the ordering of [h ² ₆ h ² ₅ h ² ₈ h ² ₇ h ² ₃ h ² ₄ h ² ₁ h ² ₂]. Then, u_(FS) ¹={1,2} (See S710).

Further, a 4×4 matrix H₂{circumflex over (F)}₂=[h ² ₅ h ² ₆ h ² ₇ h ² ₈] may be ordered through an FSD ordering and ordered {tilde over (H)}₂=[h ² ₅ h ² ₈ h ² ₇ h ² ₆] may be obtained. If only one column is included in an FS layer, then the rightmost column of the FSD ordered {tilde over (H)}₂, the column 6 of H₂{circumflex over (F)}₂, may be included in the FS layers. Then, u_(FS,2) ²={6}, and u_(SS,2) ²={5, 8, 7} (See S720). The column(s) of H ² corresponding to u_(FS,2) ² may be positioned at the rightmost column(s) of reordered H ² as shown below.

According to operations S730 and S740, H ² may be determined as H ²=[h ² ₅ h ² ₈ h ² ₇ h ² ₄ h ² ₂ h ² ₆], and the set of the modified FS layers is ū_(FS) ¹={2, 6}⊂(u_(FS) ²∪u_(FS,2) ²). The set of the modified SS layers is ū_(SS) ²={5, 8, 7, 4}⊃u_(SS,2) ²={5, 8, 7}. In this way, the FS layers of {tilde over (H)}₂ can be included in FS layers of joint detection FSD decoding process, which reduces error probability of the MU-MIMO joint detection using the FSD decoding. In addition, in this example, the number of FS layers is not three, unlike the example of FIG. 5, thereby reducing the complexity while providing quasi-ML performance. The columns removed from H ² may be included in a set H _(/n) _(s) ²=[h ² ₃ h ² ₁], which may be used for interference whitening, according to one or more exemplary embodiments.

In operation S741, it is determined whether |ū_(n) ^(i)|>0. If (|ū_(n) ^(i)=0), operation S750 is performed. In the operation S750, a full rank matrix, D ^(i), may be calculated from the reordered H ^(i) based on Cholesky Decomposition, e.g., Equation 13. Here, the extended full rank matrix D ^(i) may be an upper triangular matrix. In some embodiments, the term σ²I_(M) may be ignored, then G ^(i)=H ^(i) ^(H) H ^(i)=D ^(i) ^(H) D ^(i) may be used.

In operation S760, an FSD decoding may be performed using a joint detection scheme to obtain {tilde over (s)} _(FSD) ^(i). For example, the Equations 14-1, 14-2, and 14-3 may be used along with the Equation 13.

If (|ū_(n) ^(i)|>0), operation S745 is performed. In the operation S745, an interference whitening may be applied to interference components eliminated from the joint detection scheme, e.g., an interference whitening for H _(/n) _(s) ^(i) including the columns removed from H ^(i) when configuring H ^(i). More specifically, if |ū_(n) ^(i)|=0, operation S750 may be performed without an interference whitening process. If |ū_(n) ^(i)|>0, H _(/n) ₂ ^(i) may be determined to include columns removed from H ^(i) when configuring H ^(i).

In an example, an interference whitening may be performed using the following equations:

$\begin{matrix} {y_{w} = {{H_{w} \cdot \overset{\_}{\overset{\_}{s}}} + \overset{\_}{\overset{\_}{v}}}} & {{{Eq}.\mspace{14mu} 19}\text{-}1} \\ {R = {{{\overset{\_}{H}}_{/n_{s}}^{i} \cdot \left( {\overset{\_}{H}}_{/n_{s}}^{i} \right)^{H}} + {\sigma^{2}I_{Ni}}}} & {{{Eq}.\mspace{14mu} 19}\text{-}2} \\ {y_{w} = {R^{- \frac{1}{2}} \cdot {\overset{\_}{\overset{\_}{y}}}^{i}}} & {{{Eq}.\mspace{14mu} 19}\text{-}3} \\ {H_{w} = {R^{- \frac{1}{2}} \cdot {\overset{\_}{\overset{\_}{H}}}^{i}}} & {{{Eq}.\mspace{14mu} 19}\text{-}4} \end{matrix}$

If |ū_(n) ^(i)|=n, total n columns are removed from H ^(i) and H ^(i) is an N_(i)×(M−n) matrix. H_(/n) ₂ ^(i) is an N_(i)×n matrix, R is an N_(i)×N_(i) matrix, I_(Ni) is an N_(i)×N_(i) identity matrix, and σ² is defined above. Accordingly, H_(w) is an N_(i)×(M−n) matrix, and each of s and ν is an 1×(M−n) matrix.

In operation S755, an (M−n)×(M−n) full rank matrix, D ^(i), may be calculated from the interference whitened N_(w)(N_(i)×M−n) based on Cholesky Decomposition, e.g., Equation 20 shown below: G ^(i) =H _(w) ^(H) H _(w)+σ² I _(M−n) =D ^(i) ^(H) D ^(i)  Eq. 20

Here, the extended full rank matrix D ^(i) may be an upper triangular matrix. In some embodiments, the term, σ²I_(M), may be ignored, then G ^(i)=H_(w) ^(H)H_(w)=D ^(i) ^(H) D ^(i) may be used.

In operation S765, an FSD decoding may be performed using a joint detection scheme to obtain {tilde over (s)} _(FSD) ^(i). For example, the following Equations may be used along with the Equation 20.

$\begin{matrix} \begin{matrix} {{\hat{\overset{\_}{\overset{\_}{s}}}}_{FSD}^{i} = {{argmin}_{s \in \delta}{{{\overset{.}{y}}^{i} - {{\overset{\_}{\overset{\_}{D}}}^{i}\overset{\_}{\overset{\_}{s}}}}}^{2}}} \\ {= {{argmin}_{s \in \delta}{{y_{w} - {H_{w}\overset{\_}{\overset{\_}{s}}}}}^{2}}} \\ {= {{argmin}_{s \in \delta}{{{\overset{\_}{\overset{\_}{y}}}^{i} - {{\overset{\_}{\overset{\_}{H}}}^{i}\overset{\_}{\overset{\_}{s}}}}}^{2}}} \end{matrix} & {{{Eq}.\mspace{14mu} 21}\text{-}1} \\ {{\overset{.}{y}}^{i} = {{\overset{\_}{\overset{\_}{G}}}^{i^{- 1}}H_{w}{{}_{}^{}{}_{}^{}}\mspace{14mu}{or}}} & {{{Eq}.\mspace{14mu} 21}\text{-}2} \\ {{\overset{.}{y}}^{i} = {{H_{w}{{}_{}^{}{}_{}^{}}} = {\left( {H_{w}{{}_{}^{}{}_{}^{}}} \right)^{- 1}H_{w}{{}_{}^{}{}_{}^{}}}}} & {{{Eq}.\mspace{14mu} 21}\text{-}3} \end{matrix}$

where {tilde over (s)} _(MLD) ^(i)=argmin_(sεΩ)∥y ^(i)−H ^(i) s∥² (with ordering and removing at least one column from H ^(i)), ŝ_(MLD) ^(i)=argmin_(sεΩ)∥y_(i)−H ^(i)s∥² (before ordering),

is the restricted search space of Ω=Π_(i=1) ^(K)x_(m) _(i) ^(N) ^(i) , i.e., (

⊂Ω). Columns of s ^(T) are ordered by ordering columns of s^(T) and Columns of y ^(T) are ordered by ordering columns of y^(T), according to the modified column ordering of H ^(i) from H ^(i). The FSD under the joint detection scheme considerably reduces calculation complexity using the S defined by a node distribution vector of n_(S)=(n₁, n₂, . . . , n_(M)) instead of Ω, and the entire search space of the MLD under the joint detection scheme.

FIG. 8 is a diagram of an illustrative search tree of the i-th STA constituted by a modified FSD ordering scheme, according to one or more exemplary embodiments.

Referring to FIG. 8, the search tree of the i-th STA constituted by the modified FSD ordering scheme. Normally, the strength of the interference streams is lower than that of the desired signal stream. Therefore, these interference streams are distributed at the top and bottom layers of the search tree. Although not illustrated in FIG. 8, the column(s) of the set u_(FS,i) ^(i) may be located on the right side of the column(s) of the set u_(FS) ^(i) such that the full search for the column(s) of the set u_(FS,i) ^(i) is located upper location of the search tree than the full search for the column(s) of the set u_(FS) ^(i), according to one or more exemplary embodiments.

Further, according to one or more exemplary embodiments, at least one column of the set u_(FS) ^(i) may be included in the SS layers or may belong to columns corresponding to ū_(n) ^(i) because at least one of the column(s) of the set u_(FS,i) ^(i) is added into the FS layers. Thus, the total number of FS layer may not be increased even though the column(s) of the set u_(FS,i) ^(i) is added into the FS layers.

FIG. 9 is a flowchart illustrating of a process for modifying a fixed sphere decoding (FSD) ordering scheme, according to one or more exemplary embodiments.

Referring to FIG. 9, in operation S910, by conducting FSD ordering using H_(i){circumflex over (F)}_(i), which is the product of the channel matrix of STA_(i) (H_(i)) and the estimate of steering matrix of STA_(i) ({circumflex over (F)}_(i)) the ordered index set u_(FS,i) ^(i) of the FS layer of {tilde over (H)}_(i) and the ordered index set u_(SS,i) ^(i) of the SS layer of {tilde over (H)}_(i) are obtained. For example, when M=12, N₁=4, N₂=4, N₃=4, K=3, and i=2, H ²=[h ² ₁ h ² ₂ h ² ₃ h ² ₄ h ² ₅ h ² ₆ h ² ₇ h ² ₈ h ² ₉ h ² ₁₀ h ² ₁₁ h ² ₁₂], which is the effective channel matrix of STA₂ H ₂ {circumflex over (F)} ₁ =[h ² ₁ h ² ₂ h ² ₃ h ² ₄] H ₂ {circumflex over (F)} ₂ =[h ² ₅ h ² ₆ h ² ₇ h ² ₈] H ₂ {circumflex over (F)} ₃ =[h ² ₉ h ² ₁₀ h ² ₁₁ h ² ₁₂]

If the FSD ordering result of H_(i){circumflex over (F)}_(i) for i=2, based on e.g., the Equation 8, is [h ² ₈ h ² ₅ h ² ₆ h ² ₇], then at least the column h ² ₇ belongs to the FS layer of H_(i){circumflex over (F)}_(i) and corresponds to the index set u_(FS,i) ^(i) (the number of FS layers is greater than or equal to 1 because N₂=4 and the equation ┌√{square root over (N_(i))}−1┐). The index set u_(FS,i) ^(i) is index set of FS layer columns of a matrix obtained based on an FSD ordering of H_(i){circumflex over (F)}_(i). The index set u_(SS,i) ^(i) is index set of SS layer columns of the matrix obtained based on the FSD ordering of H_(i){circumflex over (F)}_(i).

In operation S920, column(s) corresponding to the index set u_(FS,i) ^(i) may be removed from H ^(i) and H _(sub) ^(i) may be obtained by the removal. From the above example, when only h ² ₇ belongs to the FS layer of H_(i){circumflex over (F)}_(i), H _(sub) ^(i)=[h ² ₁ h ² ₂ h ² ₃ h ² ₄ h ² ₅ h ² ₆ h ² ₈ h ² ₉ h ² ₁₀ h ² ₁₁ h ² ₁₂]. In another example, when the two rightmost columns [h ² ₆ h ² ₇] of the FSD ordering result of for H_(i){circumflex over (F)}_(i) for i=2 belong to the FS layer of H_(i){circumflex over (F)}_(i) and correspond to the index set u_(FS,i) ^(i), then H _(sub) ^(i)=[h ² ₁ h ² ₂ h ² ₃ h ² ₄ h ² ₅ h ² ₈ h ² ₉ h ² ₁₀ h ² ₁₁ h ² ₁₂].

In operation S930, an FSD ordering is conducted based on H _(sub) ^(i). For example, when u is the index vector used to the FSD ordering, it can be determined in every iteration according to the following, for k=M−|u_(FS,i) ^(i)|, M−|u_(FS,i) ^(i)|−1, . . . , 1. |u_(FS,i) ^(i)| the number of elements in u_(FS,i) ^(i).

A) When, the k+1th index element of u, u_(k+1) is obtained through the previous repetition process and

${\overset{\_}{H}}_{{sub}{(u_{k + 1})}}^{i}$ is the matrix in which columns of u_(k+1) selected through the previous repetition process are replaced with zero column vector,

${{\overset{\_}{H}}_{{sub}{(u_{k + 1})}}^{i}}^{\dagger} = {\left( {{{\overset{\_}{H}}_{{sub}{(u_{k + 1})}}^{i}}^{H}{\overset{\_}{H}}_{{sub}{(u_{k + 1})}}^{i}} \right)^{- 1}{{\overset{\_}{H}}_{{sub}{(u_{k + 1})}}^{i}}^{H}}$ is calculated.

(B) When

$\left( {{\overset{\_}{H}}_{{sub}{(u_{k + 1})}}^{i}}^{\dagger} \right)_{j}\mspace{14mu}{is}\mspace{14mu}{the}\mspace{14mu} j^{th}\mspace{14mu}{row}\mspace{14mu}{of}\mspace{14mu}{{\overset{\_}{H}}_{{sub}{(u_{k + 1})}}^{i}}^{\dagger}$ with jε[1, M−|u_(FS,i) ^(i)|]−{u_(k+1)}, the index u_(k) is calculated through Equation 22.

$\begin{matrix} {u_{k} = \left\{ \begin{matrix} {{{{argmax}_{j}\left. {{{\overset{\_}{H}}_{{sub}{(u_{k + 1})}}^{i}}^{\dagger}}_{j} \right)}}^{2},} & {{{if}\mspace{14mu} n_{k}} = m_{i}} \\ {{{{argmax}_{j}\left. {{{\overset{\_}{H}}_{{sub}{(u_{k + 1})}}^{i}}^{\dagger}}_{j} \right)}}^{2},} & {{{if}\mspace{14mu} n_{k}} \neq m_{i}} \end{matrix} \right.} & {{Eq}.\mspace{14mu} 22} \end{matrix}$

where

${\overset{\_}{H}}_{{sub}{(u_{M - {u_{{FS},i}^{i}} + 1})}}^{i} = {\overset{\_}{H}}_{sub}^{i}$ for initial condition.

Using the index vector u, the ordered channel matrix {umlaut over (H)}_(sub) ^(i) by ordering columns of H _(sub) ^(i) can be obtained as below:

$\begin{matrix} {{\overset{¨}{H}}_{sub}^{i} = \begin{bmatrix} {\overset{\_}{h}}_{u_{1}}^{i} & {\overset{\_}{h}}_{u_{2}}^{i} & \ldots & {\overset{\_}{h}}_{u_{M - {u_{{FS},i}^{i}}}}^{i} \end{bmatrix}} & {{Eq}.\mspace{14mu} 23} \end{matrix}$

where h _(u) _(k) ^(i) is u_(k)th column vector of H _(sub) ^(i).

From the ordered {umlaut over (H)}_(sub) ^(i), columns that are larger than ┌√{square root over (M)}−|u_(FS,i) ^(i)|−1┐ from the rightmost column of {umlaut over (H)}_(sub) ^(i) may be included in the full search (FS) layers. For example, if M is 12 and |u_(FS,i) ^(i)|=1 (when only h ² ₇ belongs to the FS layer of H_(i){circumflex over (F)}_(i) for i=2 in the above example), at least two rightmost columns are included in the FS layers (┌√{square root over (12)}−1−1┐=2). The index set u_(FS) ^(i) of the FS layer may be obtained from the at least two columns,

${{\overset{\_}{h}}_{u_{M - {u_{{FS},i}^{i}}}}^{i}\mspace{14mu}{and}\mspace{14mu}{\overset{\_}{h}}_{u_{M - {u_{{FS},i}^{i}} - 1}}^{i}},$ and the index set u_(SS) ^(i) of the SS layer may be obtained from the rest columns other than the at least two columns,

${\overset{\_}{h}}_{u_{M - {u_{{FS},i}^{i}}}}^{i}\mspace{14mu}{and}\mspace{14mu}{{\overset{\_}{h}}_{u_{M - {u_{{FS},i}^{i}} - 1}}^{i}.}$

In another example, from the ordered {umlaut over (H)}_(sub) ^(i), columns that are larger than ┌√{square root over (M−|u_(FS,i) ^(i)|)}−1┐ from the rightmost column of {umlaut over (H)}_(sub) ^(i) may be included in the full search (FS) layers. If M is 12 and |u_(FS,i) ^(i)|=1 (when only h ² ₇ belongs to the FS layer of H_(i){circumflex over (F)}_(i) for i=2 in the above example), at least three rightmost columns are included in the FS layers (┌√{square root over (12−1)}−1┐=3). The index set u_(FS) ^(i) of the FS layer may be obtained from the at least three columns

${\overset{\_}{h}}_{u_{M - {u_{{FS},i}^{i}}}}^{i},{\overset{\_}{h}}_{u_{M - {u_{{FS},i}^{i}} - 1}}^{i},{{and}\mspace{14mu}{\overset{\_}{h}}_{u_{M - {u_{{FS},i}^{i}} - 2}}^{i}},$ and the index set u_(SS) ^(i) of the SS layer may be obtained from the rest columns other than the at least three columns,

${\overset{\_}{h}}_{u_{M - {u_{{FS},i}^{i}}}}^{i},{\overset{\_}{h}}_{u_{M - {u_{{FS},i}^{i}} - 2}}^{i},{{and}\mspace{14mu}{{\overset{\_}{h}}_{u_{M - {u_{{FS},i}^{i}} - 3}}^{i}.}}$

In operation S940, H ^(i) may be configured by setting column(s) corresponding to u_(FS,i) ^(i) into FS layers and adding columns of {umlaut over (H)}_(sub) ^(i), the FSD ordered result of H _(sub) ^(i). For example, when the two rightmost columns [h ² ₆ h ² ₇] of the FSD ordering result of H_(i){circumflex over (F)}_(i) for i=2 belong to the FS layer of H_(i){circumflex over (F)}_(i) and correspond to the index set u_(FS,i) ^(i), then H ²=[h ² _(u) ₁ h ² _(u) ₂ . . . h ² _(u) ₂₀ h ² ₆ h ² ₇] for i=2, where {umlaut over (H)}_(sub) ²=[h ² _(u) ₁ h ² _(u) ₂ . . . h ² _(u) ₁₀ ]. Among columns of H ², at least three columns h ² _(u) ₁₀ h ² ₆ h ² ₇ belong to FS layers of H ² according to e.g., the equation ┌√{square root over (M)}−1┐.

In operation S950 (similar to the operation S550), an M×M full rank matrix D ^(i) may be calculated from the reordered H ^(i)(N_(i)×M) based on Cholesky Decomposition, e.g., Equation 13.

In operation S960 (similar to the operation S560), an FSD decoding may be performed using a joint detection scheme to obtain {tilde over (s)} _(FSD) ^(i). For example, the Equations 13, 14-1, 14-2, and 14-3 may be used.

Fixed-Complexity Sphere Decoding Algorithm

In order to obtain {tilde over (s)} _(FSD) ^(i) using FSD decoding under the joint detection scheme, the conventional Zero Forcing decoding may be used for SS layers or other known sphere decoding algorithms. The main idea behind the Fixed-complexity sphere (FSD) is to perform a search over only a fixed number of lattice vectors Hs, generated by a small subset

⊂X_(m) ^(M), around the received vector y. The transmitted vector sε

with the smallest Euclidean distance is then selected as the solution. The process can be written as

$\begin{matrix} {{\hat{s}}_{FSD} = {\arg{\min\limits_{s \in \delta}{{y - {Hs}}}^{2}}}} \\ {= {\arg{\min\limits_{s \in \delta}{{R\left( {s - {\hat{s}}_{ZF}} \right)}}^{2}}}} \end{matrix}$

where R is an N×N upper triangular matrix, with entries denoted r_(ij), obtained through QR decomposition of the channel matrix H and ŝ_(ZF)=R⁻¹Q^(T)y, is the unconstrained ML estimate of s.

The (squared) Euclidean distance in the following equations can be obtained recursively starting from i=N and working backwards until i=1 using

$w_{i} = {{{r_{ii}^{2}{{s_{i} - z_{i}}}^{2}} + {\sum\limits_{j = {i + 1}}^{M}\;{r_{ii}^{2}{{s_{i} - z_{i}}}^{2}}}} = {e_{i} + w_{i + 1}}}$ where  w_(N + 1) = 0, w₁ = R(s − ŝ_(ZF))²  and $z_{i} = {{\hat{s}}_{{ZF},i} - {\sum\limits_{j = {i + 1}}^{M}\;{\frac{r_{ij}}{r_{ii}}\left( {s_{j} - {\hat{s}}_{{ZF},j}} \right.}}}$

The term w_(i+1) can be seen as an APED down to level j=i+1 and the term e_(i) as the PED contribution from level i.

FIG. 10 is a diagram illustrating a radio frequency communication (RFC) module in an access point and an RFC module in a user station in a MIMO system, according to one or more exemplary embodiments.

The RFC module in the access point RFC_AP may be connected to, or may have, M antennas 1010 a through 1010 b. The RFC module in the user station RFC_STA may be connected to, or may have, Ni antennas 1060 a through 1060 b. The access point is a transmitting device for the downlink and a receiving device for the uplink. The user station is a transmitting device for the uplink and a receiving device for the downlink. A plurality of user stations including the user station may be selected from simultaneous transmission on the downlink or uplink. The beam-steering or some other spatial processing technique may be employed at the access point and the user station.

According to one or more exemplary embodiments, on the uplink, at the user station selected for uplink transmission, a TX data processor 1088 receives traffic data from a data source TD1 and control data from a controller 1080. The controller 1080 may store data in a memory 1082. TX data processor 1088 processes (e.g., encodes, interleaves, and modulates) the traffic data for the user station based on the coding and modulation schemes associated with the rate selected for the user station and provides a data symbol stream. A TX spatial processor 1090 performs spatial processing on the data symbol stream and provides transmit symbol streams for the antennas. Each transmitter unit (TX) 1054 receives and processes (e.g., converts to analog, amplifies, filters, and frequency upconverts) a respective transmit symbol stream to generate an uplink signal. Transmitter units 1054 provide uplink signals for transmission from antennas 1060 a through 1060 b to the access point.

At access point, antennas 1010 a through 1010 b receive the uplink signals from all selected user stations transmitting on the uplink. Each antenna 1010 a through 1010 b provides a received signal to a respective receiver unit (RX) 1022. Each receiver unit 1022 performs processing complementary to that performed by transmitter unit 1054 and provides a received symbol stream. An RX spatial processor 1040 performs receiver spatial processing on the received symbol streams from receiver units 1022 and provides recovered uplink data symbol streams. The receiver spatial processing is performed in accordance with the channel correlation matrix inversion (CCMI), minimum mean square error (MMSE), successive interference cancellation (SIC), or some other technique. Each recovered uplink data symbol stream is an estimate of a data symbol stream transmitted by a respective user station. An RX data processor 1042 processes (e.g., demodulates, deinterleaves, and decodes) each recovered uplink data symbol stream in accordance with the rate used for that stream to obtain decoded data. The decoded data for each user station may be provided for storage and/or to a controller 1030 for further processing. The controller 1030 may store data in a memory 1032.

According to one or more exemplary embodiments, on the downlink, at access point, a TX data processor 1010 receives traffic data from a data source TD2 for user stations scheduled for downlink transmission, control data from a controller 1030 and possibly other data from a scheduler 1034. The various types of data may be sent on different transport channels. TX data processor 1010 processes (e.g., encodes, interleaves, and modulates) the traffic data for each user station based on the rate selected for that user station. TX data processor 1010 provides downlink data symbol streams for the user stations. A TX spatial processor 1020 performs spatial processing on the downlink data symbol streams, and provides transmit symbol streams for the antennas 1010 a through 1010 b. Each transmitter unit (TMTR) 1022 receives and processes a respective transmit symbol stream to generate a downlink signal. Transmitter units 1022 provide downlink signals for transmission from antennas 1010 a through 1010 b to the user stations.

At each user station, antennas 1060 a through 1060 b receive the downlink signals from access point. Each receiver unit (RX) 1054 processes a received signal from an associated antenna 1060 a through 1060 b and provides a received symbol stream. An RX spatial processor 1060 performs receiver spatial processing on received symbol streams from receiver units 1054 and provides a recovered downlink data symbol stream for the user station. The receiver spatial processing is performed in accordance with the CCMI, MMSE, or some other technique. An RX data processor 1070 processes (e.g., demodulates, deinterleaves, and decodes) the recovered downlink data symbol stream to obtain decoded data for the user station.

The user station includes a fixed-complexity sphere decoder (FSD) configured to modify FSD ordering described above and to perform FSD processing. At least part of the functions and operations of the FSD illustrated herein may be performed by the RX spatial processor 1060, the RX data processor 1070, or another hardware block associated with at least one of the RX spatial processor 1060 and the RX data processor 1070. Further, the FSD may be configured as one or more logic circuits configured in the RFC module in the user station RFC_STA.

A channel estimation between the access point and selected user stations may be performed based on a signal transmission from the access point to the selected user stations and feedbacks from the selected user stations to the access point. Based on the communication between the access point and the selected user stations, a channel estimator 1028 of the access point and a channel estimator 1078 of each of the selected user stations may perform channel estimation operations. For example, the compressed beamforming procedure may be performed and each station may transmit feedback information to the access point. Based on the feedbacks of the user stations, the access point determines the estimate of the steering matrix of the user stations {circumflex over (F)}=[{circumflex over (F)}_(i) {circumflex over (F)}_(li)]. Then, each station estimates H _(i) based on a signal transmitted from the access point using the estimate of the steering matrix of the user stations {circumflex over (F)}.

FIG. 11 is a block diagram of a system-on-chip (SoC) including radio frequency communication module, according to one exemplary embodiments.

Referring to FIG. 11, the SoC 1100, e.g., an application processor, may include central processing unit (CPU) 1110, graphic processing unit (GPU) 1120, memory controller 1130, system memory 1140, radio frequency communication (RFC) module 1150, bus 1160, and first to k-th intellectual property (IP) blocks IP₁ to IP_(k).

The CPU 1110 may include a microprocessor including hardware, software, and/or firmware, which processes various tasks and operates an operating system (OS) and application programs. The CPU 1110 may include a plurality of processing cores and a cache memory. The CPU 1110 may control the GPU 1120, the memory controller 1130, the system memory 1140, the radio frequency communication module 1150, and the first to k-th IP blocks IP₁ to IP_(k) through the bus 1160.

According to one or more exemplary embodiments, the GPU 1120 may be coupled to the bus 1160 and may be configured to handle one or more processes (e.g., a series and/or simultaneous processes) in response to a control signal of the CPU 1110. For example, the GPU 1120 performs a video data processing. The GPU 1120 may be configured to handle one or more threads associated with video data processing, which may be performed via single threading or multithreading configuration. The GPU 1120 may include a control unit configured to calculate (or otherwise determine) and compare graphic-related data. The GPU 1120 may also be configured to analyze and execute a command(s) on behalf of the CPU 1110.

The SoC 1100 may be coupled to the external memory 1131 through a memory controller 1130 included in the SoC 1100. However, the external memory 1131 may be integrated as part of the SoC 1100. Data processed by the CPU 1110, the GPU 1120, the radio frequency communication module 1150, and the first to k-th IP blocks IP₁ to IP_(k) may be stored in the external memory 1131. The external memory 1131 may be controlled through the memory controller 1130. The external memory 1131 may include at least one of Static RAM (SRAM), Dynamic RAM (DRAM), and Synchronous DRAM (SDRAM), etc.; however, aspects of external memory 1131 are not limited thereto. Any suitable storage device (or repository) may be coupled to the SoC 1100 through any suitable I/O interface (not shown), which may be wired or wireless.

The system memory 1140 may be used as a working memory of the SoC 1100. The system memory 1140 may include at least one of Static RAM (SRAM), Dynamic RAM (DRAM), Synchronous DRAM (SDRAM), etc.

The radio frequency communication module 1150 may modify FSD ordering described above and perform FSD processing. The radio frequency communication module 1150 may be provided as the radio frequency communication module RFC_STA described with reference to FIG. 10. The radio frequency communication module 1150 may receive downlink signals via the antennas 1060 a through 1060 b (refer to FIG. 10), modify FSD ordering described above, and perform FSD processing for the downlink signals.

The IP blocks IP₁ to IP_(k) may be SoC components configured to perform various functions and operations in the SoC 1100. Each of the IP blocks IP₁ to IP_(k) may be classified into a master IP block or a slave IP block. It is also contemplated that the master IP block may serve as the slave IP block, or vice versa.

FIG. 12 is a block diagram illustrating a mobile station including an application processor, according to one or more exemplary embodiments. For example, the application processor may be the SoC 1100 illustrated in FIG. 11 or a variation thereof.

Referring to FIG. 12, mobile station 1200 includes application processor 1100, external memory 1200, nonvolatile storage 1300, display 1500, and user interface 1600.

The application processor 1100 may control overall operations of the external memory 1200, the nonvolatile storage 1300, the display 1500, and the user interface 1600. The application processor 1100 may be provided as the SoC 1100 shown in FIG. 11, according to one or more exemplary embodiments. The application processor 1100 includes the radio frequency communication module 1110 coupled to antennas.

The external memory 1200 can be used as the external memory 1131 shown in FIG. 11. The External memory 1200 may store data processed by the application processor 1100 and data inputted through the user interface 1600. The external memory 1200 may include at least one of a static random-access memory (SRAM), a magnetoresistive random-access memory (MRAM), an embedded dynamic RAM (embedded DRAM), etc.; however, aspects of external memory 1200 are not limited thereto.

The nonvolatile storage 1300 includes various types of storages which retain stored data regardless power on/off conditions. For example, the nonvolatile storage 1300 includes at least one of various types such as a flash memory, a hard disk, a Read Only Memory (ROM), a Programmable ROM (PROM), an Electrically Programmable ROM (EPROM), an Electrically Erasable and Programmable ROM (EEPROM), a Phase-change RAM (PRAM), a Magnetic RAM (MRAM), a Resistive RAM (RRAM), a Ferroelectric RAM (FRAM). The nonvolatile storage 1300 may operate in response to a control of the application processor 1100. The memory controller 1130 shown in FIG. 11 may further include an interface for controlling the nonvolatile storage 1300.

The display 1500 displays information which is processed in mobile station 1000, according to a control of application processor 1100. One of the IP blocks in the application processor (AP) 1100 may be provided as a display controller coupled to the display 1500.

User interface 1600 detects a user input for controlling an operation of mobile station 1000, and generates corresponding input data. User interface 1600 may include an input device detecting a command or information from the user, such as a key pad, a mouse, a finger scan sensor, a dome switch, a touchpad, a jog wheel, and the like.

The RFC module 1110 may include at least one of Wireless Local Area Network (WLAN) communication module conforming to e.g., IEEE 802.11, and a cellular mobile communication module conforming to e.g., LTE, LTE-A, etc.

FIG. 13 is a block diagram illustrating a mobile station including an application processor, according to one or more exemplary embodiments.

Referring to FIG. 13, the mobile station 2000 includes application processor (AP) 2100, external memory 2200, nonvolatile storage 2300, radio frequency communication (RFC) module 2600, display 2500, and user interface 2600.

The radio frequency communication RFC module 2600 may be provided as an external component for the application processor 2100, and may be implemented in an RFC chip. The radio frequency communication module 2600 may be coupled to the application processor 2100 through a communication interface for interfacing between the application processor 2100 and the radio frequency communication module 2600. One of the IP blocks in the AP 2100 may be provided as the communication interface. The RFC module 2600 may include at least one of Wireless Local Area Network (WLAN) communication module conforming to e.g., IEEE 802.11, and a cellular mobile communication module conforming to e.g., LTE, LTE-A, etc.

The RFC module 1110 included in the AP 1100 of FIG. 12 or the RFC module included in the RFC chip 2600 of FIG. 13 may perform fixed-complexity sphere decoding illustrated herein. The fixed-complexity sphere decoding may be applicable for DL MU-MIMO wireless signal conforming to various standards, such as IEEE 802.11, LTE, LTE-A, etc.

Although certain exemplary embodiments and implementations have been described herein, other embodiments and modifications will be apparent from this description. Accordingly, the inventive concept is not limited to such embodiments, but rather to the broader scope of the presented claims and various obvious modifications and equivalent arrangements. 

What is claimed is:
 1. A method of a radio frequency communication (RFC) chip for a station, the RFC chip comprising a wireless local area network (WLAN) communication module to decode a downlink (DL) multi-user multiple-input multiple-output (MU-MIMO) wireless signal, the method comprising: determining a full search (FS) layer column based on a product of a channel matrix of the station and an estimate of a steering matrix of the station; ordering columns of a sub-matrix of an effective channel matrix of the station to determine one or more single search (SS) layer columns from the sub-matrix, the sub-matrix being determined by removing, from the effective channel matrix, a column corresponding to the determined FS layer column; configuring a modified effective channel matrix based on the determined FS layer column and the ordered columns of the sub-matrix, the determined FS layer column being determined as an FS layer column of the modified effective channel matrix; and determining a symbol of the station based on the modified effective channel matrix.
 2. The method of claim 1, wherein: the effective channel matrix of the station is a product of the channel matrix of the station and an estimate of a steering matrix associated with a plurality of stations, the plurality of stations comprising the station; and ordering columns of the sub-matrix of the effective channel matrix of the station comprises: ordering, based on a comparison associated with magnitudes of the columns of the sub-matrix, the columns of the sub-matrix after removing the column corresponding to the determined FS layer column, the ordered columns of the sub-matrix each being classified into an FS layer column of the modified effective channel matrix or an SS layer column of the modified effective channel matrix.
 3. The method of claim 2, wherein: the station is one of the plurality of stations to receive the DL MU-MIMO wireless signal associated with symbols for the plurality of stations; and the effective channel matrix H ^(i) of the station corresponds to H ^(i)=H_(i){circumflex over (F)}=H_(i)[{circumflex over (F)}₁ . . . {circumflex over (F)}_(i−1) {circumflex over (F)}_(i) {circumflex over (F)}_(i+1) . . . {circumflex over (F)}_(K)], where K is a number of the plurality of stations, H_(i) corresponds to the channel matrix of the station, and {circumflex over (F)}_(i) corresponds to the estimate of the steering matrix of the station.
 4. The method of claim 2, wherein a number of FS layer columns of the modified effective channel matrix is greater than or equal to ┌√{square root over (M)}−1┐, where M is a total number of reception antennas of the plurality of stations.
 5. The method of claim 1, wherein determining the symbol of the station comprises: determining a full rank matrix based on the modified effective channel matrix, where the full rank matrix is an M×M full rank matrix, and M is a total number of reception antennas of a plurality of stations comprising the station; and obtaining the symbol of the station based on the full rank matrix, wherein the DL MU-MIMO wireless signal is associated with symbols for the plurality of stations.
 6. The method of claim 1, wherein a number of FS layer columns of the product is greater than or equal to ┌√{square root over (N_(i))}−1┐, where N is a total number of reception antennas of the station.
 7. The method of claim 1, wherein: the effective channel matrix of the station is a product of the channel matrix of the station and an estimate of a steering matrix associated with a plurality of stations, the plurality of stations comprising the station; the station is one of the plurality of stations to receive the DL MU-MIMO wireless signal associated with symbols for the plurality of stations; and ordering the columns of the sub-matrix comprises: determining an index vector used for a fixed-complexity sphere decoder (FSD) ordering scheme for the sub-matrix, based on a squared norm of each row of a pseudo-inverse of the sub-matrix.
 8. A radio frequency communication (RFC) chip for a station, the RFC chip comprising: a fixed-complexity sphere decoder (FSD) configured to decode a downlink (DL) multi-user multiple-input multiple-output (MU-MIMO) wireless signal associated with symbols for a plurality of stations, wherein the FSD is configured to: determine a full search (FS) layer column based on a product of a channel matrix of the station and an estimate of a steering matrix of the station; order, based on a comparison associated with magnitudes of columns of an effective channel matrix of the station, the columns of the effective channel matrix of the station; generate a modified effective channel matrix by reordering the ordered columns of the effective channel matrix such that a column of the effective channel matrix corresponding to the determined FS layer column is reordered to be an FS layer column of the modified effective channel matrix; determine a full rank matrix based on the modified effective channel matrix; and determine a symbol of the station based on the full rank matrix.
 9. The RFC chip of claim 8, wherein the FSD is further configured to: generate the modified effective channel matrix by removing a column of the effective channel matrix.
 10. The RFC chip of claim 9, wherein the FSD is further configured to: perform an interference whitening based on the removed column.
 11. The RFC chip of claim 8, wherein: the station corresponds to an i-th station among the plurality of stations; and the effective channel matrix H_(i){circumflex over (F)} of the station corresponds to H _(i)=H_(i){circumflex over (F)}=H_(i)[{circumflex over (F)}₁ . . . {circumflex over (F)}_(i−1) {circumflex over (F)}_(i) {circumflex over (F)}_(i+1) . . . {circumflex over (F)}_(K)], where K is a number of the plurality of stations, H_(i) corresponds to the channel matrix of the i-th station, and {circumflex over (F)}_(i) corresponds to the estimate of the steering matrix of the i-th station.
 12. The RFC chip of claim 8, wherein: the station corresponds to an i-th station among the plurality of stations; the FS layer column is determined by ordering the columns of the product H_(i){circumflex over (F)}_(i) based on a determination of an index vector used for a fixed-complexity sphere decoder (FSD) ordering scheme for the product, based on a squared norm of each row of a pseudo-inverse of the product; and H_(i) corresponds to the channel matrix of the i-th station, and {circumflex over (F)}_(i) corresponds to the estimate of the steering matrix of the i-th station.
 13. The RFC chip of claim 12, wherein a number of FS layer columns of the product is greater than or equal to ┌√{square root over (N_(i))}−1┐ and N_(i) is a number of reception antennas of the i-th station.
 14. The RFC chip of claim 8, wherein: the station corresponds to an i-th station among the plurality of stations; each of the plurality of stations comprises a plurality of reception antennas; and the columns of the effective channel matrix of the i-th station are ordered based on a determination of an index vector used for a fixed-complexity sphere decoder (FSD) ordering scheme for the effective channel matrix, based on a squared norm of each row of a pseudo-inverse of the effective channel matrix.
 15. The RFC chip of claim 14, wherein a number of FS layer columns of the effective channel matrix is greater than or equal to ┌√{square root over (M)}−1┐, and M is a total number of reception antennas of the plurality of stations.
 16. The RFC chip of claim 8, wherein reordering of the ordered columns of the effective channel matrix is performed according to an FS layer index set ū_(FS) ^(i) of the modified effective channel matrix and an SS layer index set ū_(SS) ^(−i) of the modified effective channel matrix.
 17. The RFC chip of claim 16, wherein: the FS layer index set ū_(FS) ^(i) is an FS layer index set of the modified effective channel matrix H ^(i) and is defined as u_(FS,i) ^(i) ⊂ū_(FS) ^(i)∪(u_(FS) ^(i)∪u_(FS,i) ^(i)), where u_(FS) ^(i) is an FS layer index set of the ordered columns in {umlaut over (H)}^(i), u_(FS,i) ^(i) is an FS layer index set of ordered columns in {tilde over (H)}_(i), and {tilde over (H)}_(i) is ordered from the product; and the SS layer index set ū_(SS) ^(i) is an SS layer index set of the modified effective channel matrix H ^(i).
 18. The RFC chip of claim 16, wherein: the FS layer index set ū_(FS) ^(i) is an FS layer index set of the modified effective channel matrix H ^(i) and is defined as ū_(FS) ^(i)=u_(FS) ^(i)∪u_(FS,i) ^(i), where u_(FS) ^(i) is an FS layer index set of the ordered columns in {umlaut over (H)}^(i), u_(FS,i) ^(i) is an FS layer index set of ordered columns in {tilde over (H)}_(i), and {tilde over (H)}_(i) is ordered from the product; and the SS layer index set ū_(SS) ^(i) is an SS layer index set of the modified effective channel matrix H ^(i).
 19. A mobile station comprising: a display; a system-on-chip (SoC) comprising a processor configured to process instructions associated with an application program, a system memory configured to store data, and a graphic processing unit (GPU) configured to process graphic data to be displayed on the display of the mobile station; multiple antennas configured to receive a downlink (DL) multi-user multiple-input multiple-output (MU-MIMO) wireless signal associated with symbols for a plurality of stations; and a fixed-complexity sphere decoder (FSD) configured to decode the DL MU-MIMO wireless signal, wherein the FSD is configured to: determine a full search (FS) layer column based on a product of a channel matrix of the mobile station and an estimate of a steering matrix of the mobile station; order, based on a comparison associated with magnitudes of columns of an effective channel matrix of the mobile station, the columns of the effective channel matrix of the mobile station; generate a modified effective channel matrix by reordering the ordered columns of the effective channel matrix such that a column of the effective channel matrix corresponding to the determined FS layer column is reordered to be an FS layer column of the modified effective channel matrix; determine a full rank matrix based on the modified effective channel matrix; and determine a symbol of the mobile station based on the full rank matrix.
 20. The mobile station of claim 19, wherein the FSD is implemented in the SoC or implemented in a radio frequency communication (RFC) chip configured to communicate with the SoC. 